
Trouver, vérifier et analyser les identifiants divulgués
Trouvez les identifiants divulgués.
...et plus encore
Pour en savoir plus sur TruffleHog, ses fonctionnalités et ses capacités, visitez notre page produit.
Êtes-vous intéressé par une surveillance continue de Git, Jira, Slack, Confluence, Microsoft Teams, Sharepoint (et plus) pour des identifiants ? Nous avons un produit entreprise qui peut vous aider ! En savoir plus sur https://trufflesecurity.com/trufflehog-enterprise.
Nous utilisons les revenus du produit entreprise pour financer d'autres projets open source formidables dont toute la communauté peut bénéficier.
TruffleHog est l'outil le plus puissant de Découverte, Classification, Validation et Analyse de secrets. Dans ce contexte, un secret fait référence à un identifiant qu'une machine utilise pour s'authentifier auprès d'une autre machine. Cela inclut les clés API, les mots de passe de base de données, les clés de chiffrement privées, etc.
TruffleHog peut rechercher des secrets dans de nombreux endroits, notamment Git, les chats, les wikis, les logs, les plateformes de test d'API, les magasins d'objets, les systèmes de fichiers et plus encore.
TruffleHog classifie plus de 800 types de secrets, en les reliant à l'identité spécifique à laquelle ils appartiennent. Est-ce un secret AWS ? Un secret Stripe ? Un secret Cloudflare ? Un mot de passe Postgres ? Une clé privée SSL ? Il est parfois difficile de le dire en l'observant, donc TruffleHog classifie tout ce qu'il trouve.
Pour chaque secret que TruffleHog peut classifier, il peut également se connecter pour confirmer si ce secret est actif ou non. Cette étape est cruciale pour savoir s'il existe un danger actif ou non.
Pour environ 20 des types d'identifiants les plus couramment divulgués, au lieu d'envoyer une seule requête pour vérifier si le secret peut se connecter, TruffleHog peut envoyer de nombreuses requêtes pour apprendre tout ce qu'il y a à savoir sur le secret. Qui l'a créé ? À quelles ressources peut-il accéder ? Quelles autorisations a-t-il sur ces ressources ?
Des questions ? Des retours ? Rejoignez Slack ou Discord et traînez avec nous.
Rejoignez notre Communauté Slack
Rejoignez le Discord Secret Scanning
```bash
docker run --rm -it -v "$PWD:/pwd" trufflesecurity/trufflehog:latest github --org=trufflesecurity
# :floppy_disk: Installation
Plusieurs options s'offrent à vous :
### Utilisateurs MacOS```bash
brew install trufflehog
Assurez-vous que le moteur Docker est en cours d'exécution avant d'exécuter les commandes suivantes :
docker run --rm -it -v "$PWD:/pwd" trufflesecurity/trufflehog:latest github --repo https://github.com/trufflesecurity/test_keys
#### Invite de commandes Windows```bash
docker run --rm -it -v "%cd:/=\%:/pwd" trufflesecurity/trufflehog:latest github --repo https://github.com/trufflesecurity/test_keys
docker run --rm -it -v "${PWD}:/pwd" trufflesecurity/trufflehog github --repo https://github.com/trufflesecurity/test_keys
#### M1 et M2 Mac```bash
docker run --platform linux/arm64 --rm -it -v "$PWD:/pwd" trufflesecurity/trufflehog:latest github --repo https://github.com/trufflesecurity/test_keys
Download and unpack from https://github.com/trufflesecurity/trufflehog/releases
### Compiler à partir des sources```bash
git clone https://github.com/trufflesecurity/trufflehog.git
cd trufflehog; go install
curl -sSfL https://raw.githubusercontent.com/trufflesecurity/trufflehog/main/scripts/install.sh | sh -s -- -b /usr/local/bin
### Utiliser le script d'installation pour vérifier la signature du checksum (nécessite que cosign soit installé)```bash
curl -sSfL https://raw.githubusercontent.com/trufflesecurity/trufflehog/main/scripts/install.sh | sh -s -- -v -b /usr/local/bin
curl -sSfL https://raw.githubusercontent.com/trufflesecurity/trufflehog/main/scripts/install.sh | sh -s -- -b /usr/local/bin
# :closed_lock_with_key: Vérification des artefacts
Des sommes de contrôle sont appliquées à tous les artefacts, et le fichier de somme de contrôle résultant est signé à l'aide de cosign.
Vous avez besoin de l'outil suivant pour vérifier la signature :
- [Cosign](https://docs.sigstore.dev/cosign/system_config/installation/)
Les étapes de vérification sont les suivantes :
1. Téléchargez les fichiers d'artefact souhaités, ainsi que les fichiers suivants depuis la page des [versions](https://github.com/trufflesecurity/trufflehog/releases).
- trufflehog\_{version}\_checksums.txt
- trufflehog\_{version}\_checksums.txt.pem
- trufflehog\_{version}\_checksums.txt.sig
2. Vérifiez la signature : ```shell
cosign verify-blob <path to trufflehog_{version}_checksums.txt> \
--certificate <path to trufflehog_{version}_checksums.txt.pem> \
--signature <path to trufflehog_{version}_checksums.txt.sig> \
--certificate-identity-regexp 'https://github\.com/trufflesecurity/trufflehog/\.github/workflows/.+' \
--certificate-oidc-issuer "https://token.actions.githubusercontent.com"
Remplacez {version} par la version des fichiers téléchargés
Alternativement, si vous utilisez le script d'installation, passez l'option -v pour effectuer la vérification de la signature.
Cela nécessite que le binaire Cosign soit installé avant d'exécuter le script d'installation.
Commande:```bash trufflehog git https://github.com/trufflesecurity/test_keys --results=verified
Sortie attendue :```
🐷🔑🐷 TruffleHog. Unearth your secrets. 🐷🔑🐷
Found verified result 🐷🔑
Detector Type: AWS
Decoder Type: PLAIN
Raw result: AKIAYVP4CIPPERUVIFXG
Line: 4
Commit: fbc14303ffbf8fb1c2c1914e8dda7d0121633aca
File: keys
Email: counter <[email protected]>
Repository: https://github.com/trufflesecurity/test_keys
Timestamp: 2022-06-16 10:17:40 -0700 PDT
...
trufflehog github --org=trufflesecurity --results=verified
## 3: Analyser une organisation GitHub en excluant les dépôts archivés```bash
trufflehog github --org=trufflesecurity --exclude-archived
Commande:```bash trufflehog git https://github.com/trufflesecurity/test_keys --results=verified --json
Sortie attendue :```
{"SourceMetadata":{"Data":{"Git":{"commit":"fbc14303ffbf8fb1c2c1914e8dda7d0121633aca","file":"keys","email":"counter \[email protected]\u003e","repository":"https://github.com/trufflesecurity/test_keys","timestamp":"2022-06-16 10:17:40 -0700 PDT","line":4}}},"SourceID":0,"SourceType":16,"SourceName":"trufflehog - git","DetectorType":2,"DetectorName":"AWS","DecoderName":"PLAIN","Verified":true,"Raw":"AKIAYVP4CIPPERUVIFXG","Redacted":"AKIAYVP4CIPPERUVIFXG","ExtraData":{"account":"595918472158","arn":"arn:aws:iam::595918472158:user/canarytokens.com@@mirux23ppyky6hx3l6vclmhnj","user_id":"AIDAYVP4CIPPJ5M54LRCY"},"StructuredData":null}
...
trufflehog github --repo=https://github.com/trufflesecurity/test_keys --issue-comments --pr-comments
## 6: Analyser un compartiment S3 pour des résultats à haute confiance (vérifiés + inconnus)```bash
trufflehog s3 --bucket=<bucket name> --results=verified,unknown
trufflehog s3 --role-arn=
## 8: Analyser un dépôt GitHub en utilisant l'authentification SSH dans Docker```bash
docker run --rm -v "$HOME/.ssh:/root/.ssh:ro" trufflesecurity/trufflehog:latest git ssh://github.com/trufflesecurity/test_keys
trufflehog filesystem path/to/file1.txt path/to/file2.txt path/to/dir
## 10: Analyser un dépôt git local
Clonez le dépôt git. Par exemple [clés de test](https://github.com/trufflesecurity/trufflehog/blob/HEAD/[email protected]:trufflesecurity/test_keys.git) dépôt.```bash
git clone [email protected]:trufflesecurity/test_keys.git
Exécutez trufflehog depuis le répertoire parent (en dehors du dépôt git).```bash trufflehog git file://test_keys --results=verified,unknown
Pour se prémunir contre les configurations git malveillantes lors de l'analyse locale (voir CVE-2025-41390), TruffleHog clone les dépôts git locaux vers un répertoire temporaire avant l'analyse. Cela suit les [bonnes pratiques de sécurité de Git](https://git-scm.com/docs/git#_security). Si vous souhaitez spécifier un chemin personnalisé pour cloner le dépôt (au lieu de tmp), vous pouvez utiliser l'option `--clone-path`. Si vous souhaitez ignorer le processus de clonage local et analyser directement le dépôt (à faire uniquement pour les dépôts de confiance), vous pouvez utiliser l'option `--trust-local-git-config`.
## 11: Analyser les buckets GCS uniquement pour les secrets vérifiés```bash
trufflehog gcs --project-id=<project-ID> --cloud-environment --results=verified
Utilisez le flag --image plusieurs fois pour analyser plusieurs images.```bash
trufflehog docker --image trufflesecurity/secrets --results=verified
trufflehog docker --image docker://new_image:tag --results=verified
trufflehog docker --image file://path_to_image.tar --results=verified
## 13: Scan dans le CI
Définissez l'indicateur `--since-commit` sur votre branche par défaut vers laquelle les gens fusionnent (ex : "main"). Définissez l'indicateur `--branch` sur le nom de la branche de votre PR (ex : "feature-1"). Selon la plateforme CI/CD que vous utilisez, cette valeur peut être récupérée dynamiquement (ex : [CIRCLE_BRANCH dans Circle CI](https://circleci.com/docs/variables/) et [TRAVIS_PULL_REQUEST_BRANCH dans Travis CI](https://docs.travis-ci.com/user/environment-variables/)). Si le dépôt est cloné et que la branche cible est déjà extraite lors du workflow CI/CD, alors `--branch HEAD` devrait suffire. L'indicateur `--fail` renverra un code d'erreur 183 si des identifiants valides sont trouvés.```bash
trufflehog git file://. --since-commit main --branch feature-1 --results=verified,unknown --fail
Utilisez les options --workspace-id, --collection-id, --environment plusieurs fois pour analyser plusieurs cibles.```bash
trufflehog postman --token= --workspace-id=
## 15: Scanner un serveur Jenkins```bash
trufflehog jenkins --url https://jenkins.example.com --username admin --password admin
Il existe deux façons de s'authentifier auprès d'un cluster local avec TruffleHog : (1) nom d'utilisateur et mot de passe, (2) jeton de service.
trufflehog elasticsearch --nodes 192.168.14.3 192.168.14.4 --username truffle --password hog
#### Se connecter à un cluster local avec un jeton de service```bash
trufflehog elasticsearch --nodes 192.168.14.3 192.168.14.4 --service-token ‘AAEWVaWM...Rva2VuaSDZ’
Pour analyser un cluster sur Elastic Cloud, vous aurez besoin d’un Cloud ID et d’une API key.```bash
trufflehog elasticsearch
--cloud-id 'search-prod:dXMtY2Vx...YjM1ODNlOWFiZGRlNjI0NA=='
--api-key 'MlVtVjBZ...ZSYlduYnF1djh3NG5FQQ=='
## 17. Analyser un dépôt GitHub pour les références d'objets entre forks et les commits supprimés
La commande suivante énumérera les commits supprimés et cachés sur un dépôt GitHub, puis les analysera à la recherche de secrets. Il s'agit d'une fonctionnalité en version alpha.```bash
trufflehog github-experimental --repo https://github.com/<USER>/<REPO>.git --object-discovery
En plus de la sortie normale de TruffleHog, le flag --object-discovery crée deux fichiers dans un nouveau répertoire $HOME/.trufflehog : valid_hidden.txt et invalid.txt. Ceux-ci sont utilisés pour suivre l'état lors de l'énumération des commits, ainsi que pour fournir aux utilisateurs une liste complète de tous les commits cachés et supprimés (valid_hidden.txt). Si vous souhaitez supprimer automatiquement ces fichiers après l'analyse, veuillez ajouter le flag --delete-cached-data.
Note : L'énumération de tous les commits valides sur un dépôt en utilisant cette méthode prend entre 20 minutes et quelques heures, selon la taille de votre dépôt. Nous avons ajouté une barre de progression pour vous tenir informé de la durée de l'énumération. L'analyse réelle des secrets est extrêmement rapide.
Pour plus d'informations sur les Cross Fork Object References, veuillez lire notre article de blog.
trufflehog huggingface
--model <model_id>
--dataset <dataset_id>
--space <space_id>
--bucket <bucket_id>
### Analyser tous les Models, Datasets, Spaces et Buckets appartenant à une organisation ou à un utilisateur Hugging Face```bash
trufflehog huggingface --org <orgname> --user <username>
(Optionnel) Lors de l'analyse d'une organisation ou d'un utilisateur, vous pouvez ignorer une classe entière de ressources avec --skip-all-models, --skip-all-datasets, --skip-all-spaces, --skip-all-buckets OU une ressource particulière avec --ignore-models <model_id>, --ignore-datasets <dataset_id>, --ignore-spaces <space_id>, --ignore-buckets <bucket_id>.
trufflehog huggingface --model <model_id> --include-discussions --include-prs
## 19. Scanner stdin Input```bash
aws s3 cp s3://example/gzipped/data.gz - | gunzip -c | trufflehog stdin
🐷🔑🐷 TruffleHog. Unearth your secrets. 🐷🔑🐷 et le programme se termine, qu'est-ce qui se passe ?
--token avec un jeton d'accès personnel.trufflehog:ignore sur la ligne contenant le secret pour ignorer ce secret.TruffleHog v3 est une réécriture complète en Go avec de nombreuses nouvelles fonctionnalités puissantes.
Pour chaque identifiant potentiel détecté, nous avons méticuleusement implémenté une vérification programmatique contre l'API à laquelle nous pensons qu'il appartient. La vérification élimine les faux positifs et fournit trois statuts de résultat :
Par exemple, le détecteur d'identifiants AWS effectue un appel API GetCallerIdentity vers l'API AWS pour vérifier si un identifiant AWS est actif.
TruffleHog possède une sous-commande pour chaque source de données que vous souhaitez analyser :
Chaque sous-commande peut avoir des options que vous pouvez voir avec l'option --help fournie à la sous-commande :```
$ trufflehog git --help
usage: TruffleHog [] [ ...]
TruffleHog is a tool for finding credentials.
Flags: -h, --[no-]help Show context-sensitive help (also try --help-long and --help-man). --log-level=0 Logging verbosity on a scale of 0 (info) to 5 (trace). Can be disabled with "-1". --[no-]profile Enables profiling and sets a pprof and fgprof server on :18066. -j, --[no-]json Output in JSON format. --[no-]json-legacy Use the pre-v3.0 JSON format. Only works with git, gitlab, and github sources. --[no-]github-actions Output in GitHub Actions format. --concurrency=12 Number of concurrent workers. --[no-]no-verification Don't verify the results. --results=RESULTS Specifies which type(s) of results to output: verified (confirmed valid by API), unknown (verification failed due to error), unverified (detected but not verified), filtered_unverified (unverified but would have been filtered out). Defaults to verified,unverified,unknown. --[no-]no-color Disable colorized output --[no-]allow-verification-overlap Allow verification of similar credentials across detectors --[no-]filter-unverified Only output first unverified result per chunk per detector if there are more than one results. --filter-entropy=FILTER-ENTROPY Filter unverified results with Shannon entropy. Start with 3.0. --config=CONFIG Path to configuration file. --[no-]print-avg-detector-time Print the average time spent on each detector. --[no-]no-update Don't check for updates. --[no-]fail Exit with code 183 if results are found. --[no-]fail-on-scan-errors Exit with non-zero error code if an error occurs during the scan. --verifier=VERIFIER ... Set custom verification endpoints. --[no-]custom-verifiers-only Only use custom verification endpoints. --detector-timeout=DETECTOR-TIMEOUT Maximum time to spend scanning chunks per detector (e.g., 30s). --archive-max-size=ARCHIVE-MAX-SIZE Maximum size of archive to scan. (Byte units eg. 512B, 2KB, 4MB) --archive-max-depth=ARCHIVE-MAX-DEPTH Maximum depth of archive to scan. --archive-timeout=ARCHIVE-TIMEOUT Maximum time to spend extracting an archive. --include-detectors="all" Comma separated list of detector types to include. Protobuf name or IDs may be used, as well as ranges. --exclude-detectors=EXCLUDE-DETECTORS Comma separated list of detector types to exclude. Protobuf name or IDs may be used, as well as ranges. IDs defined here take precedence over the include list. --[no-]no-verification-cache Disable verification caching --[no-]force-skip-binaries Force skipping binaries. --[no-]force-skip-archives Force skipping archives. --[no-]skip-additional-refs Skip additional references. --user-agent-suffix=USER-AGENT-SUFFIX Suffix to add to User-Agent. --[no-]version Show application version.
Commands: help [...] Show help.
git []
Find credentials in git repositories.
github [] Find credentials in GitHub repositories.
github-experimental --repo=REPO [] Run an experimental GitHub scan. Must specify at least one experimental sub-module to run: object-discovery.
gitlab --token=TOKEN [] Find credentials in GitLab repositories.
filesystem [] [...] Find credentials in a filesystem.
s3 [] Find credentials in S3 buckets.
gcs [] Find credentials in GCS buckets.
syslog --format=FORMAT [] Scan syslog
circleci --token=TOKEN Scan CircleCI
docker [] Scan Docker Image
travisci --token=TOKEN Scan TravisCI
postman [] Scan Postman
elasticsearch [] Scan Elasticsearch
jenkins --url=URL [] Scan Jenkins
huggingface [] Find credentials in HuggingFace datasets, models and spaces.
stdin Find credentials from stdin.
multi-scan Find credentials in multiple sources defined in configuration.
json-enumerator [...] Find credentials from a JSON enumerator input.
analyze Analyze API keys for fine-grained permissions information.
Par exemple, pour analyser un dépôt `git`, commencez par```
trufflehog git https://github.com/trufflesecurity/trufflehog.git
TruffleHog permet de définir des détecteurs regex personnalisés
et plusieurs sources dans un fichier de configuration fourni via le flag --config.
Les détecteurs regex peuvent être utilisés avec n'importe quelle sous-commande, tandis que les sources définies
dans la configuration sont uniquement pour la sous-commande multi-scan.
Le format de configuration des sources se trouve sur la page de documentation de configuration des sources de Truffle Security page de documentation de configuration des sources.
Exemple de configuration source GitHub et référence des options:```yaml sources:
Vous pouvez définir plusieurs connexions sous la clé `sources` (voir ci-dessus), et TruffleHog analysera toutes les sources simultanément.
## S3
La source S3 prend en charge l'assomption de rôles IAM pour le scan en plus des utilisateurs IAM. Cela facilite pour les utilisateurs le scan de plusieurs comptes AWS sans avoir besoin de compter sur des identifiants codés en dur pour chaque compte.
L'identité IAM que TruffleHog utilise initialement devra avoir les privilèges `AssumeRole` en tant que principal dans la [politique de confiance](https://aws.amazon.com/blogs/security/how-to-use-trust-policies-with-iam-roles/) de chaque rôle IAM à assumer.
Pour scanner un bucket spécifique en utilisant des identifiants définis localement ou les métadonnées d'instance si sur une instance EC2 :```bash
trufflehog s3 --bucket=<bucket-name>
Pour analyser un bucket spécifique en utilisant un rôle assumé :```bash trufflehog s3 --bucket= --role-arn=
Plusieurs rôles peuvent être passés comme arguments séparés. La commande suivante tentera de scanner chaque bucket pour lequel chaque rôle a les permissions de lister dans l'API S3 :```bash
trufflehog s3 --role-arn=<iam-role-arn-1> --role-arn=<iam-role-arn-2>
Codes de sortie :
--fail est utilisé.on: push: branches: - main pull_request:
jobs: test: runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v4 with: fetch-depth: 0 - name: Secret Scanning uses: trufflesecurity/trufflehog@main with: extra_args: --results=verified,unknown
Dans l'exemple de configuration ci-dessus, nous recherchons les secrets actifs dans toutes les PR et les push vers `main`. Seules les modifications de code dans les commits référencés sont analysées. Si vous souhaitez analyser une branche entière, veuillez consulter la section "Utilisation avancée" ci-dessous.
### Clonage superficiel
Si vous intégrez TruffleHog dans un workflow autonome et que vous n'exécutez aucun autre outil CI/CD parallèlement à TruffleHog, nous vous recommandons d'utiliser le [clonage superficiel](https://git-scm.com/docs/git-clone#Documentation/git-clone.txt---depthltdepthgt) pour accélérer votre workflow. Voici un exemple de la manière de procéder :```
...
- shell: bash
run: |
if [ "${{ github.event_name }}" == "push" ]; then
echo "depth=$(($(jq length <<< '${{ toJson(github.event.commits) }}') + 2))" >> $GITHUB_ENV
echo "branch=${{ github.ref_name }}" >> $GITHUB_ENV
fi
if [ "${{ github.event_name }}" == "pull_request" ]; then
echo "depth=$((${{ github.event.pull_request.commits }}+2))" >> $GITHUB_ENV
echo "branch=${{ github.event.pull_request.head.ref }}" >> $GITHUB_ENV
fi
- uses: actions/checkout@v3
with:
ref: ${{env.branch}}
fetch-depth: ${{env.depth}}
- uses: trufflesecurity/trufflehog@main
with:
extra_args: --results=verified,unknown
...
En fonction du type d'événement (push ou PR), nous calculons le nombre de commits présents. Nous ajoutons ensuite 2, afin de pouvoir référencer un commit de base avant nos modifications de code. Nous passons cette valeur entière au drapeau fetch-depth dans l'action checkout en plus de la branche concernée. Maintenant, notre processus de checkout devrait être beaucoup plus court.
TruffleHog détecte statiquement https://canarytokens.org/.

Si vous souhaitez spécifier des références `base` et `head` spécifiques, vous pouvez utiliser l'argument `base` (le drapeau `--since-commit` dans l'interface en ligne de commande de TruffleHog) et l'argument `head` (le drapeau `--branch` dans l'interface en ligne de commande de TruffleHog). Nous recommandons d'utiliser ces arguments uniquement pour des cas d'utilisation très spécifiques, lorsque le comportement par défaut ne fonctionne pas.
#### Utilisation avancée : Analyser une branche entière```
- name: scan-push
uses: trufflesecurity/trufflehog@main
with:
base: ""
head: ${{ github.ref_name }}
extra_args: --results=verified,unknown
stages:
security-secrets: stage: security allow_failure: false image: alpine:latest variables: SCAN_PATH: "." # Set the relative path in the repo to scan before_script: - apk add --no-cache git curl jq - curl -sSfL https://raw.githubusercontent.com/trufflesecurity/trufflehog/main/scripts/install.sh | sh -s -- -b /usr/local/bin script: - trufflehog filesystem "$SCAN_PATH" --results=verified,unknown --fail --json | jq rules: - if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
Dans l'exemple de pipeline ci-dessus, nous recherchons des secrets actifs dans tous les répertoires et fichiers du dépôt. Ce travail ne s'exécute que lorsque la source du pipeline est un événement de demande de fusion, ce qui signifie qu'il est déclenché lors de la création d'une nouvelle demande de fusion.
## Hook de pré-commit
TruffleHog peut être utilisé dans un hook de pré-commit pour empêcher les fuites d'identifiants avant qu'ils ne quittent votre ordinateur.
Voir la [documentation du hook de pré-commit](https://github.com/trufflesecurity/trufflehog/blob/HEAD/PreCommit.md) pour plus d'informations.
## Détecteur d'expressions régulières personnalisé (alpha)
TruffleHog prend en charge la détection et la vérification d'expressions régulières personnalisées.
Pour la détection, au moins une **expression régulière** et un **mot-clé** sont requis.
Un **mot-clé** est un identifiant de chaîne littérale fixe qui apparaît dans ou autour
de l'expression régulière à détecter. Pour offrir une flexibilité maximale pour la vérification,
un webhook contenant les correspondances d'expressions régulières est utilisé.
TruffleHog envoie une requête POST JSON contenant les correspondances d'expressions régulières à un
point de terminaison de webhook configuré. Si le point de terminaison répond avec un code de statut
`200 OK`, le secret est considéré comme vérifié. Si la vérification échoue en raison d'erreurs réseau/API,
le résultat est marqué comme inconnu.
Les détecteurs personnalisés prennent en charge plusieurs mécanismes de filtrage : l'entropie, les expressions régulières ciblant la correspondance entière, les expressions régulières ciblant le secret capturé,
et les listes de mots exclus vérifiés par rapport au secret (groupe capturé s'il est présent, correspondance entière si le groupe de capture n'est pas présent). Notez que si
votre détecteur personnalisé a plusieurs `regex` définies (dans cet exemple `hogID` et `hogToken`),
alors les filtres sont appliqués à chaque expression régulière. [Voici](https://github.com/trufflesecurity/trufflehog/blob/HEAD/examples/generic_with_filters.yml) un exemple de détecteur personnalisé utilisant ces filtres.
**NB :** Cette fonctionnalité est en alpha et susceptible de changer.
### Exemple de détecteur d'expression régulière
[Voici](https://github.com/trufflesecurity/trufflehog/blob/HEAD/pkg/custom_detectors/CUSTOM_DETECTORS.md) comment configurer un détecteur d'expression régulière personnalisé avec un serveur de vérification.
## Détection JWT générique
TruffleHog prend en charge la détection et la vérification d'un sous-ensemble de JWT génériques qu'il trouve.
Plus précisément, si un JWT utilise la cryptographie à clé publique plutôt que HMAC et que la clé publique peut être obtenue,
TruffleHog peut déterminer si le JWT est actif ou non.
## :mag: Analyser
TruffleHog prend en charge l'exécution d'une analyse plus approfondie d'un identifiant pour visualiser ses autorisations et les ressources auxquelles il a accès.```bash
trufflehog analyze
Ce projet existe grâce à toutes les personnes qui contribuent. [Contribuer].
Les contributions sont les bienvenues ! Veuillez d'abord consulter nos directives de contribution.
Nous n'acceptons plus de contributions à TruffleHog v2, mais ce code est disponible dans la branche v2.
Nous avons publié une documentation et des outils pour commencer à ajouter de nouveaux détecteurs de secrets. Améliorons la détection ensemble !
Actuellement, trufflehog est en plein développement et aucune garantie ne peut être donnée sur la stabilité des API publiques à ce stade.
Depuis la v3.0, TruffleHog est publié sous licence AGPL 3, incluse dans LICENSE. TruffleHog v3.0 n'utilise rien de la base de code précédente, mais des précautions ont été prises pour préserver la rétrocompatibilité de l'interface en ligne de commande. Les travaux antérieurs à cette version sont toujours disponibles sous licence GPL 2.0 dans l'historique de ce dépôt et les versions et tags précédents. Un CLA signé est nécessaire pour que nous puissions accepter les contributions à l'avenir.