Un secret commité dans Git vit éternellement dans l’historique. Un certificat expiré met un service en production à genoux. Une dépendance compromise se propage silencieusement dans toute la supply chain.

Angle choisi : Défense en profondeur. 9 outils pour couvrir les trois piliers : secrets, cryptographie et intégrité de la supply chain.

Secrets — Détecter, Rotater, Gérer

secretdetector — Scanner Local de Secrets

Le premier rempart. Scanner le code avant qu’il ne quitte la machine.

# Scanner le répertoire courant
secretdetector .

# Scanner un projet spécifique
secretdetector /path/to/project

# Scanner un sous-dossier
secretdetector src/

Détections par sévérité :

  • CRITICAL : AWS Access Keys (AKIA...), clés privées RSA/EC
  • WARNING : API keys, passwords, tokens génériques

Exclusions automatiques : .git, node_modules, vendor, bin, *.min.js — pas de faux positifs sur les dépendances.

L’outil est simple volontairement : un chemin en argument, un rapport en sortie. Pas de configuration, pas de fichier YAML à maintenir.

GitHub : hallucinaut/secretdetector


secret-rotator — Rotation Automatisée des Secrets

Détecter ne suffit pas. Il faut rotater régulièrement et automatiquement, sans interruption de service.

# Découverte automatique et dry-run
./secret-rotator --discover=/path/to/configs --dry-run

# Rotation forcée avec configuration spécifique
./secret-rotator --config=rotation-config.json --force=true

# Découverte + rotation effective
./secret-rotator --discover=/secrets --force=true --dry-run=false

Providers supportés :

  • AWS Secrets Manager
  • HashiCorp Vault
  • Azure Key Vault
  • Google Cloud Secret Manager
  • Credentials de bases de données
  • API keys
  • Certificats SSL/TLS

Politiques de rotation : Monthly, Quarterly, Annually, Max Age, On-Demand.

Déploiement : stratégies blue-green et rolling pour garantir le zero-downtime. Chaque rotation génère un audit trail complet en JSON.

GitHub : hallucinaut/secret-rotator


keyvault — Gestion du Cycle de Vie des Clés

Au-delà des secrets applicatifs : la gestion complète des clés cryptographiques avec suivi d’état.

# Générer une clé
keyvault generate --algorithm rsa --key-size 2048
keyvault generate --algorithm ed25519

# Lister les clés
keyvault list

# Rotater une clé
keyvault rotate key-123

# Planifier une rotation automatique
keyvault schedule key-123 --policy policy-90-days

# Vérifier l'état des clés
keyvault check

# Import/Export
keyvault import key.pem
keyvault export key-123

# Rapport complet
keyvault report

Algorithmes supportés : RSA, ECDSA, AES, ChaCha20, Ed25519.

États du cycle de vie :

Generated → Active → Deprecated → Revoked → Destroyed

Politiques de rotation : 90 jours, 180 jours, annuelle.

GitHub : hallucinaut/keyvault


Cryptographie — Auditer et Anticiper

cryptoaudit — Scanner de Faiblesses Cryptographiques

Trouver les algorithmes obsolètes, les clés trop courtes, les implémentations vulnérables.

# Scanner un projet
cryptoaudit scan ./myproject

# Vérifier un fichier de configuration
cryptoaudit check config.yaml

Faiblesses détectées :

  • Algorithmes cassés : MD5, SHA-1, DES, 3DES, RC4, MD4
  • Tailles de clé insuffisantes : RSA < 2048, ECC < 256, AES < 128

Conformité : NIST SP 800-131A, PCI-DSS, CIS Benchmarks.

Deux commandes : scan pour un projet entier, check pour un fichier spécifique.

GitHub : hallucinaut/cryptoaudit


certwatch — Monitoring SSL/TLS

Un certificat expiré = un incident de production. certwatch surveille les certificats avec des niveaux d’alerte clairs.

# Surveiller un domaine
certwatch example.com

# Surveiller plusieurs domaines
certwatch example.com api.example.com mail.example.com

Niveaux de statut :

StatutCondition
OK> 30 jours avant expiration
EXPIRING_SOON7-30 jours
CRITICAL< 7 jours
EXPIREDExpiré

Simple : des domaines en arguments, un tableau de statut en sortie. Idéal pour un cron ou un pipeline CI.

GitHub : hallucinaut/certwatch


quantumsec — Préparation Post-Quantique

Les ordinateurs quantiques ne sont pas encore là. Mais la migration cryptographique prend des années.

# Évaluer des algorithmes
quantumsec assess "RSA-2048,AES-256,SHA-256"

# Analyser les vulnérabilités quantiques
quantumsec analyze "RSA-2048,ECC-256"

# Vérifier un algorithme spécifique
quantumsec check RSA-4096

# Timeline de la menace quantique
quantumsec timeline

Analyse :

  • Vulnérable à Shor : RSA (toutes tailles), ECC — cassés par l’algorithme de Shor
  • Résistant à Grover : AES-256 (sécurité effective 128 bits), SHA3
  • Quantum-safe : Kyber, Dilithium — algorithmes post-quantiques NIST

La commande timeline donne une projection de la menace quantique et aide à prioriser la migration.

GitHub : hallucinaut/quantumsec


Supply Chain — Traçabilité et Intégrité

supply-chain-shield — Sécurité de la Supply Chain Logicielle

L’outil le plus complet de l’arsenal pour la supply chain. Découverte automatique d’artefacts, vérification de signatures, génération de SBOM.

# Découverte et analyse d'artefacts
./supply-chain-shield --discover=./artifacts

# Avec échec sur vulnérabilités hautes
./supply-chain-shield --discover=./artifacts --fail-high=true

# Avec échec sur vulnérabilités critiques uniquement
./supply-chain-shield --discover=./dist --fail-critical=true

# Mode verbose avec dry-run
./supply-chain-shield --discover=./dist --verbose --dry-run

Types d’artefacts : containers, packages, binaires, fichiers de configuration, certificats.

Capacités :

  • Vérification de signatures RSA/ECDSA
  • Hashing SHA-256/SHA-512
  • Provenance in-toto/SLSA
  • SBOM SPDX/CycloneDX

GitHub : hallucinaut/supply-chain-shield


codeprovenance — Traçabilité du Code Source

D’où vient ce code ? Le build est-il intègre ? Quelqu’un a-t-il modifié l’artefact après le build ?

# Enregistrer un artefact
codeprovenance track myapp

# Vérifier l'intégrité d'un build
codeprovenance verify build-001

# Afficher la chaîne de provenance
codeprovenance chain build-001

# Vérifier un fichier d'information de build
codeprovenance check build-info.json

Chaque artefact est enregistré avec un hash SHA-256. La chaîne de provenance permet de retracer chaque étape du build et de détecter les modifications non autorisées. Un score d’intégrité est calculé pour chaque artefact.

GitHub : hallucinaut/codeprovenance


sbomgen — Génération de SBOM

Le SBOM (Software Bill of Materials) est devenu une exigence réglementaire. sbomgen le génère pour tous les écosystèmes.

# Générer un SBOM (format table par défaut)
sbomgen gen ./myproject

# Format JSON
sbomgen gen -o sbom.json -f json ./myproject

# Format Markdown
sbomgen gen --format markdown --dir ./myapp -o sbom.md

# Formats standards
sbomgen gen -f cyclonedx ./myproject
sbomgen gen -f spdx ./myproject

# Analyser les dépendances
sbomgen analyze ./myproject

Formats de sortie : SPDX, CycloneDX, JSON, YAML, Markdown, Table.

Écosystèmes détectés : npm (package.json), PyPI (requirements.txt), Go (go.mod), Cargo (Cargo.toml), Maven (pom.xml).

Chaque dépendance inclut son Package URL (pURL) pour une identification universelle.

GitHub : hallucinaut/sbomgen


Le Pipeline Sécurisé

Ces 9 outils s’assemblent dans un pipeline cohérent :

Code → secretdetector (pre-commit)
  → cryptoaudit scan (CI)
  → sbomgen gen (build)
  → codeprovenance track (attestation)
  → supply-chain-shield --discover (vérification)
  → certwatch (monitoring production)
  → secret-rotator --discover (rotation opérationnelle)
  → keyvault check (gestion des clés)
  → quantumsec assess (stratégie long terme)

Contribuer

Chaque outil est un MVP open source. Les contributions les plus utiles :

  • Nouveaux patterns de secrets pour secretdetector
  • Support de providers cloud pour secret-rotator
  • Algorithmes post-quantiques pour quantumsec
  • Formats SBOM additionnels pour sbomgen

Tous les outils : Arsenal Open Source Complet

FIN_DE_TRANSMISSION