💻 Développement

secrets-scanner

Détecte les secrets, clés API et credentials exposés dans le code.

⚡ Installation & lancement en 1 commande

Copiez-collez dans votre terminal : le skill s'installe dans ~/.claude/skills et Claude Code se lance directement dessus.

macOS / Linux
curl -fsSL https://raw.githubusercontent.com/khalilbenaz/claude-skills-collection/main/install.sh | sh -s -- secrets-scanner --launch
Windows (PowerShell)
iex "& { $(iwr -useb https://raw.githubusercontent.com/khalilbenaz/claude-skills-collection/main/install.ps1) } secrets-scanner -Launch"

🚀 Déjà installé ?

claude "/secrets-scanner"

Ou tapez /secrets-scanner dans une session Claude Code, ou décrivez simplement votre besoin — le skill se déclenche automatiquement via le skill-router.

🔑 Déclencheurs automatiques

Le skill s'active automatiquement quand votre demande contient :

secretsclé API exposéecredential leakmot de passe dans le codetoken exposé.envsecret scanner

📦 Installation manuelle

git clone https://github.com/khalilbenaz/claude-skills-collection.git cp -r claude-skills-collection/dev-skills/secrets-scanner ~/.claude/skills/

Source : dev-skills/secrets-scanner

📖 Manuel

Secrets Scanner

Workflow

  1. Scan des fichiers sources pour patterns de secrets
    • Rechercher les patterns regex de clés API, tokens et passwords dans le code source
    • Inspecter les fichiers de code (JS, TS, Python, Java, Go, PHP, Ruby, etc.)
    • Détecter les chaînes de caractères de haute entropie (potentiels secrets non étiquetés)
    • Analyser les fichiers de test (souvent négligés mais contenant des credentials de test réels)
  1. Vérification des fichiers de configuration
    • Auditer les fichiers .env, .env.local, .env.production, .env.staging
    • Inspecter config.json, appsettings.json, application.properties, application.yml
    • Vérifier docker-compose.yml, Dockerfile (ARG, ENV avec valeurs en dur)
    • Contrôler les fichiers Kubernetes (secrets non chiffrés en base64 dans les manifests)
    • Analyser les fichiers CI/CD (.github/workflows, .gitlab-ci.yml, Jenkinsfile)
  1. Analyse de l'historique Git pour secrets commités puis supprimés
    • Inspecter les commits passés avec git log --all --full-history
    • Rechercher dans les diffs les patterns de secrets même dans les fichiers supprimés
    • Vérifier les branches abandonnées et stash
    • Utiliser truffleHog ou gitleaks en mode historique complet
    • Identifier les commits de "fix: remove secret" qui confirment une exposition passée
  1. Vérification du .gitignore
    • Contrôler que les fichiers sensibles sont bien exclus : .env*, *.pem, *.key, secrets/
    • Vérifier que le .gitignore est commité AVANT les fichiers sensibles
    • Tester avec git check-ignore -v <fichier> pour chaque fichier sensible
    • Vérifier l'absence de .gitignore global qui masquerait des fichiers trackés
  1. Détection des patterns courants par provider
    • AWS : AKIA[0-9A-Z]{16} pour les Access Key IDs, secret access keys
    • Azure : connection strings, SAS tokens, client secrets AAD
    • GCP : service account JSON, API keys (AIza[0-9A-Za-z-_]{35})
    • JWT secrets : secret:, jwt_secret, JWT_SECRET avec valeurs faibles
    • Base de données : connection strings MySQL, PostgreSQL, MongoDB, Redis avec credentials
    • Autres : Stripe keys (sk_live_), Slack tokens (xoxb-), GitHub PATs (ghp_)
  1. Vérification des variables d'environnement vs hardcoded
    • Identifier les configurations qui devraient utiliser process.env / os.environ mais n'y recourent pas
    • Vérifier que les variables d'environnement sont documentées dans .env.example sans valeurs réelles
    • Contrôler que les valeurs par défaut dans le code ne sont pas des credentials valides
    • Vérifier la cohérence entre les envs (dev/staging/prod utilisent leurs propres secrets)
  1. Recommandation d'outils
    • gitleaks : scan de repo Git complet, intégration CI/CD, règles personnalisables
    • truffleHog : détection haute entropie + patterns, analyse de l'historique Git
    • detect-secrets : baseline des secrets connus, intégration pre-commit
    • git-secrets : hook pre-commit pour bloquer les commits contenant des secrets AWS
    • Semgrep : règles SAST pour détecter les patterns de secrets dans le code
    • SOPS / age : chiffrement des fichiers de secrets dans le repo
  1. Plan de remédiation : rotation des secrets + vault setup
    • Rotation immédiate : révoquer et régénérer tous les secrets exposés (même dans l'historique)
    • Réécriture de l'historique Git : git filter-branch ou BFG Repo Cleaner pour supprimer les secrets
    • Migration vers un vault :
      • Azure Key Vault : az keyvault secret set --vault-name <vault> --name <secret> --value <val>
      • HashiCorp Vault : vault kv put secret/app key=value
      • AWS Secrets Manager : aws secretsmanager create-secret --name <name> --secret-string <val>
    • Mise en place de hooks pre-commit pour bloquer les prochains commits avec secrets

Règles