Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

FluxContactConfidentialité© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
credactor — Scannez. Expurgez. Committez proprement. | Kitploit
Outils/GitHubGitHub/rxb06/credactor
Analyse StatiqueScanners de VulnérabilitésAnalyse de CodeDevSecOpsDétection de SecretsSécurité de la Chaîne Logistique
GitHubrxb06/credactor

credactor

Scannez. Expurgez. Committez proprement.

Voir le dépôt
827il y a 12 joursPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

PyPI CI License

Credactor

Trouvez le secret. Corrigez-le. Committez proprement.

Les scanners de secrets savent bien donner l'alerte, mais sont peu utiles pour l'éteindre. Ils vous remettent une liste d'identifiants compromis et vous laissent le nettoyage. Credactor boucle la boucle : il trouve un secret codé en dur et le réécrit sur place, de sorte qu'une fuite passe de la détection à la correction en une seule commande.

Credactor: scan, redact, commit clean Garder les identifiants hors du code source est une pratique de sécurité de base, pas une option. Credactor rend cette base peu coûteuse à maintenir, sur votre machine avant un commit ou en CI avant une fusion. Lancez-le seul, ou aux côtés des scanners auxquels vous faites déjà confiance.
# Credactor finds this:
db_password = "h8Tq2vKp9mRz4Wd"

# By default it rewrites the secret as a sentinel that fails loudly at runtime:
db_password = "REDACTED_BY_CREDACTOR"

# With --replace-with env, it writes a reference that reads from the environment:
db_password = os.environ["DB_PASSWORD"]

La rédaction réécrit les fichiers dans votre arbre de travail. Si un secret a déjà été committé, faites tourner la clé et nettoyez aussi l'historique (par exemple, avec git filter-repo). Réécrire un fichier ne remplace pas la révocation d'un identifiant compromis.


Pourquoi Credactor

  • Rédaction, pas seulement détection. La plupart des scanners s'arrêtent à la détection. Credactor remplace le secret sur place : un sentinelle bruyante REDACTED_BY_CREDACTOR qui échoue à l'exécution par défaut, ou une référence à une variable d'environnement adaptée au langage (Python, JavaScript/TypeScript, Go, Java/Kotlin, Ruby, PHP et shell) telle que os.environ["KEY"]. Le remplacement est du code valide. Si le fichier n'inclut pas déjà l'import correspondant (par exemple import os), ajoutez-le.
  • Sûr par défaut. Écritures atomiques, sauvegardes .bak automatiques, protections contre les limites de liens symboliques et les permissions de fichiers, et masquage complet des secrets dans toutes les sorties. Si une sauvegarde sûre ne peut pas être écrite, Credactor ignore le fichier plutôt que de le réécrire à l'aveugle, et un plantage en cours d'écriture laisse l'original intact.
  • Zéro dépendance à l'exécution. Bibliothèque standard Python 3.11+ pure, plus un extra optionnel pour les encodages non-UTF-8.
  • Conçu pour le pipeline. Sortie SARIF pour GitHub Code Scanning, une barrière --ci en lecture seule avec des codes de sortie précis, un hook pre-commit, et l'ingestion des rapports Gitleaks, TruffleHog ou Betterleaks. Détectez avec le scanner que vous exécutez déjà, remédiez avec Credactor.

Installation

pip install credactor

Nécessite Python 3.11+. Aucune autre dépendance. Fonctionne sur Linux, macOS et Windows (testé en CI sur Linux et Windows).

Sur macOS et Linux, vous pouvez l'installer avec Homebrew à la place :

brew install rxb06/tap/credactor

La formule s'installe dans son propre virtualenv et inclut l'extra optionnel [encoding], donc une installation Homebrew détecte aussi les secrets dans les fichiers non-UTF-8. Un simple pip install credactor omet cet extra ; ajoutez-le avec pip install 'credactor[encoding]' si vous voulez la même couverture.

Depuis les sources :

git clone https://github.com/rxb06/credactor.git
cd credactor
pip install -e .

credactor fonctionne alors depuis n'importe quel répertoire.

Démarrage rapide

Lancez d'abord --dry-run et examinez les résultats avant de rédiger. Les faux positifs sont possibles, et sous --fix-all un faux positif est réécrit. Supprimez les valeurs connues comme sûres avec # credactor:ignore ou une entrée .credactorignore.

credactor --dry-run .                 # scan, change nothing
credactor .                           # scan, then redact interactively (y/n per finding)
credactor --fix-all .                 # redact everything after one confirmation
credactor --fix-all --yes .           # redact non-interactively (CI / scripts)
credactor --ci .                      # read-only gate: exit 1 on findings
credactor --replace-with env .        # redact to env-var references instead of the sentinel

Hook pre-commit

Le hook ne filtre que le contenu indexé, donc un secret déjà committé n'est pas re-signalé. Utilisez credactor --scan-history . pour vérifier ce qui est déjà dans le dépôt.

# .pre-commit-config.yaml
repos:
  - repo: https://github.com/rxb06/credactor
    rev: v2.7.4   # pin to the latest release tag
    hooks:
      - id: credactor

GitHub Action

- uses: rxb06/[email protected]

L'action passe toujours --ci, donc elle signale et bloque mais ne réécrit jamais le checkout. Les résultats font échouer l'étape ; définissez fail-on-findings: false pour signaler sans bloquer. Une erreur fait échouer l'étape dans tous les cas.

Téléversez vers Code Scanning au lieu d'échouer sur les résultats :

- uses: rxb06/[email protected]
  with:
    format: sarif
    upload-sarif: true
    fail-on-findings: false

Le job a besoin de permissions: security-events: write pour le téléversement. Consultez le guide d'intégration CI pour chaque entrée, y compris l'ingestion des rapports Gitleaks, TruffleHog et Betterleaks.

Détection

Credactor détecte les types d'identifiants qui fuient le plus souvent, et attribue à chacun une sévérité pour que vous puissiez trier en un coup d'œil.

CatégorieExemplesSévérité
Clés de fournisseurs cloudAWS (AKIA…), GCP (AIza…), Stripe (sk_live_…), Slack (xoxb-…)Critique
Jetons de plateformesGitHub (ghp_, github_pat_), GitLab (glpat-), npm (npm_), PyPI (pypi-)Critique
Clés privéesBlocs PEM (-----BEGIN … PRIVATE KEY-----)Critique
JWTJetons eyJ… à trois segmentsÉlevée
Chaînes de connexionURL avec identifiants en ligne (scheme://user:pass@host)Élevée
Variables d'identifiantspassword = "…", api_key = "…", secret_key = "…"Élevée/Moyenne/Faible
Attributs XML<add key="Password" value="…" />Élevée/Moyenne/Faible
Chaînes à haute entropiehex entre guillemets (32–64 caractères) / Base64 (60+ caractères)Moyenne/Faible

Les jetons de fournisseurs déterministes (les préfixes ci-dessus) sont signalés indépendamment de l'entropie. Les détecteurs heuristiques (JWT, chaînes de connexion, hex, Base64) doivent franchir un seuil d'entropie. Un hex ou Base64 isolé n'est signalé que lorsqu'il est entre guillemets. Une valeur à haute entropie non entre guillemets n'est capturée que sur une variable nommée comme un identifiant, ce qui épargne les SHA de git et les sommes de contrôle. Pour les règles complètes de détection et de sévérité, consultez le Manuel.

L'ensemble de règles natif de Credactor est plus étroit que celui d'un scanner dédié, et certains formats de fournisseurs (par exemple SendGrid, Twilio et les webhooks Slack) ne sont pas détectés. Son atout est la remédiation : associez-le à Gitleaks, TruffleHog ou Betterleaks pour la détection la plus large, ou exécutez-le seul.

Associez-le à un autre scanner, rédigez le tout

Télécharger l’outil