Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
credactor — Scannen. Schwärzen. Sauber committen. | Kitploit
Tools/GitHubGitHub/rxb06/credactor
Statische AnalyseSchwachstellenscannerCode-AnalyseDevSecOpsSecret-ErkennungLieferkettensicherheit
GitHubrxb06/credactor

credactor

Scannen. Schwärzen. Sauber committen.

Repository anzeigen
824vor 11 TagenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

PyPI CI License

Credactor

Finde das Secret. Behebe es. Committe sauber.

Secret-Scanner sind gut darin, Alarm zu schlagen, und wenig hilfreich beim Löschen desselben. Sie liefern dir eine Liste geleakter Zugangsdaten und überlassen dir die Aufräumarbeit. Credactor schließt den Kreis: Es findet ein fest codiertes Secret und schreibt es direkt an Ort und Stelle um, sodass aus einem Leak mit einem einzigen Befehl von der Erkennung zur Behebung wird.

Credactor: scannen, redigieren, sauber committen Zugangsdaten aus dem Quellcode herauszuhalten ist eine grundlegende Sicherheitspraxis, keine optionale. Credactor macht es günstig, diese Grundlage einzuhalten – auf deiner Maschine vor einem Commit oder in der CI vor einem Merge. Führe es eigenständig aus oder zusammen mit den Scannern, denen du bereits vertraust.
# Credactor findet dies:
db_password = "h8Tq2vKp9mRz4Wd"

# Standardmäßig schreibt es das Secret als Sentinel um, der zur Laufzeit laut fehlschlägt:
db_password = "REDACTED_BY_CREDACTOR"

# Mit --replace-with env schreibt es eine Referenz, die aus der Umgebung liest:
db_password = os.environ["DB_PASSWORD"]

Die Redaktion schreibt Dateien in deinem Arbeitsverzeichnis um. Wenn ein Secret bereits committet wurde, rotiere den Schlüssel und bereinige zusätzlich die Historie (zum Beispiel mit git filter-repo). Das Umschreiben einer Datei ist kein Ersatz für das Widerrufen eines geleakten Zugangsdatums.


Warum Credactor

  • Redaktion, nicht nur Erkennung. Die meisten Scanner hören beim Fund auf. Credactor ersetzt das Secret direkt an Ort und Stelle: standardmäßig durch einen lauten REDACTED_BY_CREDACTOR-Sentinel, der zur Laufzeit fehlschlägt, oder durch eine sprachbewusste Umgebungsvariablen-Referenz (Python, JavaScript/TypeScript, Go, Java/Kotlin, Ruby, PHP und Shell) wie os.environ["KEY"]. Die Ersetzung ist gültiger Code. Wenn die Datei den passenden Import (zum Beispiel import os) noch nicht enthält, füge ihn hinzu.
  • Standardmäßig sicher. Atomare Schreibvorgänge, automatische .bak-Backups, Schutz vor Symlink-Grenzen und Dateiberechtigungen sowie vollständige Maskierung von Secrets in jeder Ausgabe. Wenn kein sicheres Backup geschrieben werden kann, überspringt Credactor die Datei, statt sie blind umzuschreiben, und ein Absturz mitten im Schreibvorgang lässt das Original intakt.
  • Keine Laufzeitabhängigkeiten. Reine Python-3.11+-Standardbibliothek, plus ein optionales Extra für Nicht-UTF-8-Kodierungen.
  • Für die Pipeline gebaut. SARIF-Ausgabe für GitHub Code Scanning, ein schreibgeschütztes --ci-Gate mit präzisen Exit-Codes, ein Pre-Commit-Hook und die Einbindung von Gitleaks-, TruffleHog- oder Betterleaks-Berichten. Erkenne mit dem Scanner, den du bereits ausführst, behebe mit Credactor.

Installation

pip install credactor

Erfordert Python 3.11+. Keine weiteren Abhängigkeiten. Läuft auf Linux, macOS und Windows (CI-getestet auf Linux und Windows).

Auf macOS und Linux kannst du es stattdessen mit Homebrew installieren:

brew install rxb06/tap/credactor

Die Formel installiert in eine eigene virtuelle Umgebung und enthält das optionale [encoding]-Extra, sodass eine Homebrew-Installation auch Secrets in Nicht-UTF-8- Dateien erkennt. Ein einfaches pip install credactor lässt dieses Extra weg; füge es mit pip install 'credactor[encoding]' hinzu, wenn du dieselbe Abdeckung möchtest.

Aus dem Quellcode:

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

credactor funktioniert dann aus jedem Verzeichnis.

Schnellstart

Führe zuerst --dry-run aus und prüfe die Funde, bevor du redigierst. Falsch-Positive sind möglich, und unter --fix-all wird ein Falsch-Positiv umgeschrieben. Unterdrücke bekannt sichere Werte mit # credactor:ignore oder einem .credactorignore-Eintrag.

credactor --dry-run .                 # scannen, nichts ändern
credactor .                           # scannen, dann interaktiv redigieren (y/n pro Fund)
credactor --fix-all .                 # alles nach einer Bestätigung redigieren
credactor --fix-all --yes .           # nicht-interaktiv redigieren (CI / Skripte)
credactor --ci .                      # schreibgeschütztes Gate: Exit 1 bei Funden
credactor --replace-with env .        # zu Umgebungsvariablen-Referenzen statt zum Sentinel redigieren

Pre-Commit-Hook

Der Hook prüft nur gestagte Inhalte, sodass ein bereits committetes Secret nicht erneut gemeldet wird. Verwende credactor --scan-history ., um zu prüfen, was bereits im Repo ist.

# .pre-commit-config.yaml
repos:
  - repo: https://github.com/rxb06/credactor
    rev: v2.7.4   # auf den neuesten Release-Tag pinnen
    hooks:
      - id: credactor

GitHub Action

- uses: rxb06/[email protected]

Die Action übergibt immer --ci, sodass sie meldet und gated, aber niemals den Checkout umschreibt. Funde lassen den Schritt fehlschlagen; setze fail-on-findings: false, um ohne Gate zu melden. Ein Fehler lässt den Schritt in jedem Fall fehlschlagen.

Statt bei Funden fehlzuschlagen, zu Code Scanning hochladen:

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

Der Job benötigt permissions: security-events: write für den Upload. Siehe den CI-Integrationsleitfaden für jeden Input, einschließlich der Einbindung von Gitleaks-, TruffleHog- und Betterleaks-Berichten.

Erkennung

Credactor erkennt die Zugangsdatentypen, die am häufigsten leaken, und weist jedem eine Schweregradstufe zu, damit du auf einen Blick triagieren kannst.

KategorieBeispieleSchweregrad
Cloud-Provider-SchlüsselAWS (AKIA…), GCP (AIza…), Stripe (sk_live_…), Slack (xoxb-…)Kritisch
Plattform-TokenGitHub (ghp_, github_pat_), GitLab (glpat-), npm (npm_), PyPI (pypi-)Kritisch
Private KeysPEM-Blöcke (-----BEGIN … PRIVATE KEY-----)Kritisch
JWTseyJ… dreisegmentige TokenHoch
VerbindungszeichenfolgenURLs mit Inline-Zugangsdaten (scheme://user:pass@host)Hoch
Zugangsdaten-Variablenpassword = "…", api_key = "…", secret_key = "…"Hoch/Mittel/Niedrig
XML-Attribute<add key="Password" value="…" />Hoch/Mittel/Niedrig
Strings mit hoher Entropiein Anführungszeichen gesetztes Hex (32–64 Zeichen) / Base64 (60+ Zeichen)Mittel/Niedrig

Deterministische Provider-Token (die oben genannten Präfixe) werden unabhängig von der Entropie gemeldet. Heuristische Detektoren (JWTs, Verbindungszeichenfolgen, Hex, Base64) müssen eine Entropie-Untergrenze überschreiten. Eigenständiges Hex oder Base64 wird nur gemeldet, wenn es in Anführungszeichen steht. Ein nicht in Anführungszeichen gesetzter Wert mit hoher Entropie wird nur bei einer Variable mit Zugangsdaten-Namen erfasst, was git-SHAs und Prüfsummen verschont. Die vollständigen Erkennungs- und Schweregradregeln findest du im Handbuch.

Tool herunterladen