Personalizar o escopo da verificação de segredos
Às vezes, você pode ter um motivo para enviar um segredo para um repositório, como quando deseja fornecer um segredo falso na documentação ou em um exemplo de aplicação. Nestes cenários, pode ignorar rapidamente o alerta e documentar os motivos. Porém, pode haver casos em que você queira ignorar totalmente um diretório para evitar a criação de alertas falsos positivos em grande escala. Por exemplo, você pode ter uma aplicação monolítica com diversas integrações contendo um arquivo de chaves fictícias que poderia disparar vários alertas falsos para triagem.
Para fazer isso, basta adicionar um arquivo de configuração YAML personalizado simples ao seu repositório e adicionar algumas linhas a ele. O LinkedIn fornecerá alguns insights ao longo do caminho.
Neste guia, você aprenderá:
Como criar um arquivo de configuração de verificação de segredo
Como excluir arquivos e pastas da verificação de segredo
Melhores práticas para decidir o que excluir e o que não excluir
1. Crie um arquivo de configuração de verificação de segredo.
Ative a verificação de segredo, caso ainda não o tenha feito.
No diretório /.github/
do seu repositório Web Goat, selecione Add file e Create new file.
Nomeie o arquivo secret_scanning.yml
.
2. Edite o arquivo de configuração.
Cole o seguinte no arquivo:
paths-ignore:
- "docs/**"
Isso diz à verificação de segredo para ignorar tudo no diretório de documentos. É possível usar esse arquivo de exemplo como modelo para adicionar os arquivos e pastas que deseja excluir de seus próprios repositórios.
Usamos a verificação de segredo em milhares de repositórios no LinkedIn, mas não temos nenhuma exceção definida no nível da organização. Em vez disso, permitimos que os desenvolvedores lidem com suas próprias isenções no nível do repositório. Com isso, eles podem evitar alertas desnecessários, por exemplo, em pastas de testes unitários ou pacotes de terceiros que não incluiriam nenhum segredo do LinkedIn, sem a necessidade de esperar que a segurança implemente as alterações.
No entanto, incentivamos os desenvolvedores a se comunicarem com nossa equipe de segurança sobre o que eles excluem.
As práticas recomendadas que sugerimos incluem:
- Minimizar o número de diretórios excluídos.
- Ser o mais preciso possível ao definir exclusões.
- Explicar por que um arquivo ou pasta específica foi excluído em um comentário no arquivo YAML.
- Informar à equipe de segurança quais arquivos e pastas você excluiu e o motivo.
- Revisar o arquivo YAML regularmente.
3. Verifique se a pasta foi excluída da verificação de segredo.
Abra o arquivo readme.md
no diretório docs do repositório.
Cole o seguinte PAT pré-invalidado do Azure DevOps em qualquer lugar do arquivo:
pfnm5xd56muu7srpsme5jxeiwo23vuyavuyo2msziwy34ca7oaha
Você deve ser capaz de fazer commit da alteração sem nenhum aviso da proteção push.
Na guia Security do repositório, selecione Secret scanning na barra lateral.
Não deverá ter novos alertas para o segredo que acabamos de introduzir no readme.md
arquivo.
A seguir: Personalize sua configuração de revisão de dependência
Agora cobrimos o CodeQL mais comum e as personalizações de verificação de segredo. No próximo guia, veremos alguns ajustes de configuração comuns para revisão de dependência.