Skip to main content

Excluindo pastas e arquivos da varredura de segredos

Você pode personalizar a secret scanning para excluir diretórios ou arquivos da análise, configurando um arquivo secret_scanning.yml em seu repositório.

Quem pode usar esse recurso?

Proprietários de repositórios, proprietários de organizações, gerentes de segurança e usuários com a função de administrador

Sobre a secret scanning

O Secret scanning detecta automaticamente tokens ou credenciais que foram colocados em um repositório. Você pode exibir alertas para quaisquer segredos que o GitHub encontrar em seu código, na guia Segurança do repositório, para saber quais tokens ou credenciais deverão ser tratados como comprometidos.Para obter mais informações, confira "Sobre alertas secretos de verificação."

Sobre a exclusão de diretórios dos verificação de segredo

Você pode ter um motivo para fazer commit de um segredo em um repositório, como quando deseja fornecer um segredo falso na documentação ou em um aplicativo de exemplo. Nesses cenários, você pode descartar rapidamente o alerta e documentar os motivos. No entanto, pode haver casos em que você deseja ignorar totalmente um diretório para evitar a criação de alertas falsos positivos em escala. Por exemplo, você pode ter um aplicativo monolítico com várias integrações contendo um arquivo de chaves fictícias que podem disparar vários alertas falsos para triagem.

Você pode configurar um arquivo secret_scanning.yml para excluir diretórios da secret scanning, inclusive quando a proteção de push é usada.

Como excluir diretórios dos verificação de segredo

  1. Em GitHub, acesse a página principal do repositório.

  2. Acima da lista de arquivos, selecione o menu suspenso Adicionar arquivo e clique em Criar arquivo.

    Como alternativa, é possível clicar em na exibição em árvore de arquivos à esquerda.

    Captura de tela da página principal de um repositório. Acima da lista de arquivos, um botão, rotulado como "Adicionar arquivo", é destacado em laranja escuro. No modo de exibição de árvore de arquivos do repositório, um botão com o ícone de sinal de adição também é realçado em laranja escuro.

  3. No campo de nome do arquivo, digite ".github/secret_scanning.yml".

  4. Em Editar novo arquivo, digite paths-ignore: seguido dos caminhos que deseja excluir da secret scanning.

    YAML
    paths-ignore:
      - "docs/**"
    

    Isso informa à secret scanning para ignorar tudo no diretório docs. Você pode usar esse arquivo de exemplo como um modelo para adicionar os arquivos e pastas que deseja excluir de seus próprios repositórios.

    Você pode usar caracteres especiais, como * para filtrar caminhos. Para obter mais informações sobre os padrões de filtro, confira "Sintaxe de fluxo de trabalho do GitHub Actions".

    YAML
    paths-ignore:
      - "foo/bar/*.js"
    

    Observações:

    • Se houver mais de mil entradas em paths-ignore, a secret scanning excluirá apenas os primeiros mil diretórios das verificações.
    • Se secret_scanning.yml for maior que 1 MB, o secret scanning vai ignorar todo o arquivo.

Verificando se a pasta foi excluída de secret scanning

  1. Abra um arquivo em um diretório que você excluiu da varredura de segredos
  2. Cole um segredo pré-invalidado ou um segredo de teste.
  3. Confirme a alteração.
  4. Em GitHub, acesse a página principal do repositório.
  5. Abaixo do nome do repositório, clique em Segurança. Caso não consiga ver a guia "Segurança", selecione o menu suspenso e clique em Segurança.
    Captura de tela de um cabeçalho de repositório que mostra as guias. A guia "Segurança" é realçada por um contorno laranja escuro.
    Não deve haver novos alertas abertos para o segredo que você acabou de introduzir no arquivo.

Melhores práticas

As melhores práticas incluem:

  • Minimizar o número de diretórios excluídos e ser o mais preciso possível ao definir exclusões. Isso garante que as instruções sejam o mais claras possível e que as exclusões funcionem conforme o esperado.
  • Explicar por que um determinado arquivo ou pasta é excluído em um comentário no arquivo secret_scanning.yml. Assim como em código normal, o uso de comentários esclarece sua intenção, tornando mais fácil para outras pessoas entender o comportamento desejado.
  • Revisar o arquivo secret_scanning.yml regularmente. Algumas exclusões podem não se aplicar mais com o tempo, e é uma boa prática manter o arquivo limpo e atualizado. O uso de comentários, conforme aconselhado acima, pode ajudar nisso.
  • Informar à equipe de segurança quais arquivos e pastas você excluiu e por quê. Uma boa comunicação é vital para garantir que todos estejam na mesma página e entendam por que pastas ou arquivos específicos são excluídos.