Sobre o projeto

TruffleHog é uma ferramenta de linha de comando para descoberta de segredos, escrita em Go. Ela analisa fontes como repositórios Git, GitHub, GitLab, modelos/datasets/spaces/buckets do Hugging Face, imagens Docker, buckets S3 e GCS, sistemas de arquivos locais, syslog, CircleCI, TravisCI, Postman, Jenkins, Elasticsearch e stdin. Também pode analisar comentários de issues e pull requests do GitHub, e executar uma varredura experimental de descoberta de objetos do GitHub para commits excluídos ou ocultos. O README afirma que o TruffleHog classifica mais de 800 tipos de segredos e mapeia as descobertas para identidades específicas, como senhas do AWS, Stripe, Cloudflare, Postgres ou chaves privadas SSL. Ele tenta a verificação programática contra APIs de serviço e relata os resultados como verificados, não verificados ou desconhecidos; para alguns tipos comuns de credenciais vazadas, ele pode coletar permissões e detalhes de recursos. A verificação de chave privada usa a tecnologia Driftwood. Os formatos de saída incluem texto simples, JSON, JSON legado, GitHub Actions e SARIF. Os resultados do SARIF são armazenados em buffer na memória e escritos no final, o que afeta o uso de memória em varreduras muito grandes. A CLI fornece flags para concorrência, listas de inclusão/exclusão de detectores, filtragem de entropia, verificadores personalizados, limites de tamanho/profundidade de arquivo, falha em execuções de CI e filtragem de resultados. As opções de instalação incluem Homebrew, Docker, binários de lançamento, go install e um script de instalação com verificação opcional de checksum cosign. O uso em CI pode comparar commits com --since-commit e --branch e retornar o código de saída 183 com --fail quando credenciais são encontradas.