À propos du projet

TruffleHog est un outil de découverte de secrets en ligne de commande. Il analyse des sources telles que les dépôts Git, GitHub, GitLab, modèles/données/espaces/buckets Hugging Face, images Docker, buckets S3 et GCS, systèmes de fichiers locaux, syslog, CircleCI, TravisCI, Postman, Jenkins, Elasticsearch et l'entrée standard. Il peut également analyser les problèmes et commentaires de pull-request GitHub, ainsi qu'exécuter une analyse expérimentale de découverte d'objets GitHub pour les commits supprimés ou masqués. Le fichier README indique que TruffleHog classe plus de 800 types de secrets et associe les résultats à des identités spécifiques, comme AWS, Stripe, Cloudflare, mots de passe Postgres ou clés privées SSL. Il tente une vérification programmée contre les API de services et rapporte les résultats comme vérifiés, non vérifiés ou inconnus ; pour certains types couramment divulgués, il peut recueillir des détails sur les permissions et ressources. La vérification des clés privées utilise la technologie Driftwood. Les formats de sortie comprennent texte brut, JSON, JSON hérité, GitHub Actions et SARIF. Les résultats SARIF sont mis en mémoire tampon et écrits à la fin, ce qui affecte l'utilisation de la mémoire lors d'analyses très volumineuses. L'interface en ligne de commande fournit des indicateurs pour la concurrence, les listes d'inclusion/exclusion des détecteurs, le filtrage d'entropie, les vérificateurs personnalisés, les limites de taille/profondeur des archives, l'échec des exécutions CI et le filtrage des résultats. Les options d'installation incluent Homebrew, Docker, binaires de version, go install et un script d'installation avec vérification facultative de la somme de contrôle cosign. L'utilisation dans CI peut comparer les commits avec --since-commit et --branch et retourner le code de sortie 183 avec --fail lorsque des identifiants sont trouvés.