Corrigindo uma injeção em um script de CI

Corrija uma tarefa de CI local para manter os metadados como texto literal e preservar as compilações de prévia.

CibersegurançaLinux

💡 Este tutorial foi traduzido do inglês com assistência de IA. Para ver o original, você pode mudar para a versão em inglês

Introdução

Corrigindo uma injeção em um script de CI é um curso prático para iniciantes que sabem digitar comandos no terminal. Uma compilação de prévia trata por engano o título de um colaborador como texto executável pelo shell. Você eliminará essa possibilidade, preservando o processamento útil dos metadados.

Um laboratório guiado apresenta o fluxo normal, acompanha a execução real do Bash e ensina um pequeno reparo em JSON e shell. Um desafio aplica a mesma técnica a notas de versão com várias linhas. O curso completo leva cerca de 85 minutos.

O que você aprenderá

  • Rastrear os dados do evento até o código shell gerado e identificar o limite da substituição.
  • Passar metadados por variáveis de ambiente e expandi-los com aspas.
  • Preservar pontuação, texto que parece código shell e quebras de linha finais.
  • Testar artefatos reais e a integridade do canal em espaços descartáveis.

Para quem é este curso

O curso atende desenvolvedores iniciantes, estudantes de segurança e pessoas explorando CI. É necessária familiaridade básica com o terminal, mas não experiência com Git ou CI. O laboratório ensina o JSON, a sintaxe Bash e o método de escrita de arquivos usados no desafio.

O LabEx fornece um terminal Linux preparado e um executor local com uma página Topology. Você edita dois arquivos curtos. As compilações usam Bash real em contêineres isolados, sem contas hospedadas, credenciais de implantação ou publicações reais.

Perguntas frequentes

Preciso de uma conta do GitHub?

Não. Eventos sintéticos e um pequeno formato local documentado permitem estudar como uma entrada vira código shell sem um serviço de CI hospedado.

Vou escrever código?

Você altera um pequeno mapeamento de ambiente JSON e um script Bash curto. Cada recurso necessário da sintaxe é explicado antes do uso.

O que conta como conclusão?

A tarefa enviada deve produzir metadados exatos e manter o canal de prévia nos casos normais e hostis, sem ser alterada pelo verificador. Os testes usam espaços temporários; não é necessário relatório nem cópia de registros.

Professor

labby
Labby
Labby is the LabEx teacher.