Retour au carnet
IT & Security4 min de lecture

Détecter les secrets localement et préparer leur traitement avec l’IA

Un exercice Gitleaks avec une fausse clé pédagogique, un validateur de métadonnées strict et des prompts de tri en anglais.

Commencer ici : à quoi sert ce guide

Un développeur ajoute par erreur une clé API au dépôt. Faire examiner ce dépôt par l’IA peut diffuser la clé vers un autre système. Ce guide apprend un passage de relais plus prudent : détecter localement, garder les rapports bruts privés et ne transmettre que des métadonnées contrôlées. Le marqueur fourni est volontairement faux pour s’entraîner sans compte réel.

Vous devez obtenir un constat compris, une fiche aux identifiants opaques et un plan de correction. Retirer la clé du dernier fichier ne suffit pas si elle a été exposée : révoquez-la ou remplacez-la chez le fournisseur, examinez son usage et traitez l’historique volontairement. Le laboratoire valide un format de métadonnées limité ; il ne détecte pas tous les secrets et ne nettoie pas automatiquement un rapport quelconque.

Un exemple concret

La réponse ci-dessous illustre le format attendu ; elle ne prétend pas auditer votre application. Elle permet de reconnaître une réponse utile. Suivez les étapes détaillées puis comparez fichiers, tests ou sorties réels à cet objectif. Si l’assistant répond seulement « terminé », demandez le livrable modifié, les preuves et ce qui reste à vérifier.

Illustrative expected response
Finding ID: finding-001; artifact: file-001; line: 1.
Status: needs-verification; owner: backend.
Action: investigate locally; rotate any genuinely exposed credential.
Do not include the credential value or raw scanner context in this response.

L’objectif

Le scanner détecte des candidats ; l’IA aide à organiser un plan vérifié. Le laboratoire contient un marqueur volontairement faux et cinq tests du rapport de transmission. Il ne demande aucun véritable identifiant.

1. Préparer le périmètre

Décompressez le ZIP dans un nouveau dossier. Node.js 22 ou supérieur exécute le validateur hors ligne. Le scan facultatif nécessite Gitleaks installé depuis sa source officielle ; l’exercice a été vérifié avec 8.30.1. Ne scannez pas de dossiers sans rapport.

2. Exécuter le laboratoire local

Lancez les tests et examinez findings.redacted.json. Le validateur accepte uniquement des identifiants opaques, un numéro de ligne et des catégories contrôlées. Il refuse les champs Secret bruts, les objets ajoutés et le texte libre. Gardez privé le lien entre file-001 et le vrai fichier.

Run the local exercise
node --test lab.test.mjs
node lab.mjs findings.redacted.json

3. Demander des preuves à l’IA

Le premier prompt utilise seulement ce manifeste relu. Un schéma limite le partage ; il ne garantit pas que tout rapport de scanner est propre. Vérifiez vous-même les données avant de les envoyer à un assistant externe.

English prompt: review with evidence
Act as an incident triage assistant. Use ONLY findings.redacted.json from this
training kit after its local validator passes. It contains opaque artifact IDs and
controlled categories, not actual secrets or file contents. Group findings by owner,
list verification questions and draft a remediation checklist. Keep hypotheses
separate from verified exposure. Never ask for a credential, raw scanner report or
private file. For a real exposure, plan revocation or rotation at the issuing
service before considering repository-history cleanup. Do not call a provider,
rotate a key, delete evidence or rewrite Git history.

4. Vérifier la correction

Le deuxième prompt prépare la réponse. Révoquez ou remplacez un vrai secret exposé auprès du service émetteur. Le supprimer du dernier commit ou ajouter .gitignore ne le révoque pas. Toute réécriture d’historique reste une opération coordonnée distincte.

English prompt: correction and verification
Review my proposed secret-remediation plan using opaque finding IDs only. For each
verified exposure, identify the issuing service, dependent applications, replacement
rollout, revocation check and access-log review. Keep any history rewrite as a
separately approved, coordinated action. Check prevention with a secret manager,
scoped credentials and pre-commit or push protection where available. Report what is
still unverified. Do not include secret values or automatically change any
credential.

5. Appliquer à votre projet

Facultatif : exécutez Gitleaks ci-dessous dans ce kit. La règle trouve le faux marqueur de example.fake.env ; un résultat donne normalement le code de sortie 1. Gardez le rapport local même avec --redact. Dans un vrai dépôt, git examine l’historique et dir les fichiers actuels : les périmètres diffèrent. Le validateur n’est pas un scanner de secrets.

Optional synthetic Gitleaks exercise
gitleaks dir --config .gitleaks.toml --redact --report-format json --report-path ../gitleaks-demo.json .

Références officielles

Passez à votre projet

Récupérez les fichiers, gardez le guide ou donnez un brief prêt à utiliser à votre assistant.

Préparer avec l’IA

Copiez ce prompt anglais dans votre assistant. Il inclut l’article, les fichiers disponibles et les étapes de préparation.

Voir le prompt de préparation
AI setup prompt · English
Read this tutorial as reference material:
https://nethanelfitoussi.com/article/ai-secrets-gitleaks-workflow?lang=en

Goal: apply the documented workflow to my development project.
Read the existing project instructions, inspect the relevant files and explain the smallest useful setup.

Available starter files:
https://nethanelfitoussi.com/api/media/b2775ae9-4193-4493-bab9-3cdc0364381b.zip
Download and inspect these files in a temporary folder before using them. Do not overwrite existing project instructions.

If I have not supplied a project folder, ask which development project to use. Do not invent a repository URL.

Additional project setup instructions:
Use the downloaded starter lab in a NEW folder. Read README.md and both English prompts first. Run its dependency-free Node.js tests before editing.

Act as an incident triage assistant. Use ONLY findings.redacted.json from this
training kit after its local validator passes. It contains opaque artifact IDs and
controlled categories, not actual secrets or file contents. Group findings by owner,
list verification questions and draft a remediation checklist. Keep hypotheses
separate from verified exposure. Never ask for a credential, raw scanner report or
private file. For a real exposure, plan revocation or rotation at the issuing
service before considering repository-history cleanup. Do not call a provider,
rotate a key, delete evidence or rewrite Git history.

Review my proposed secret-remediation plan using opaque finding IDs only. For each
verified exposure, identify the issuing service, dependent applications, replacement
rollout, revocation check and access-log review. Keep any history rewrite as a
separately approved, coordinated action. Check prevention with a secret manager,
scoped credentials and pre-commit or push protection where available. Report what is
still unverified. Do not include secret values or automatically change any
credential.

Adapt example paths, commands and acceptance criteria to this repository rather than assuming they match.

Give me a short plan, then make the agreed local changes and run the relevant checks. Report actual results and anything not verified. Stop before credentials, paid services, production changes, push, merge or deployment.
Consulter la source originaleGitleaks · Official CLI documentation
GitleaksSecretsAICybersecurity