
Ein kleines Rust-CLI, das auf Wunsch Geheimnisse aus deiner Zwischenablage entfernt.
Ein kleines Rust-CLI, das bei Bedarf Geheimnisse aus Ihrer Zwischenablage entfernt. Binden Sie eine Tastenkombination, markieren Sie Text, drücken Sie die Kombination - die Zwischenablage enthält eine redigierte Version. Normales Ctrl+C / Ctrl+V wird nie abgefangen.
Linux - ein Befehl, keine weitere Einrichtung:
curl -sSf https://secretstripper.download/install.sh | bash
Standard-Tastenkombination: Ctrl+Alt+X.
macOS - benötigt einen einmalig einzurichtenden Global-Hotkey-Helfer (skhd oder Hammerspoon). Siehe macOS-Einrichtung für Berechtigungen und Fehlerbehebung.
brew install koekeishiya/formulae/skhd
curl -sSf https://secretstripper.download/install.sh | bash
# Grant skhd Accessibility: System Settings -> Privacy & Security -> Accessibility
skhd --restart-service
Standard-Tastenkombination: Cmd+Shift+C.
Windows (PowerShell) - benötigt AutoHotkey v2. Siehe Windows-Einrichtung für den vollständigen Ablauf.
winget install AutoHotkey.AutoHotkey
iwr -useb https://secretstripper.download/install.ps1 | iex
Standard-Tastenkombination: Ctrl+Alt+C.
Von crates.io (Rust) - es gelten die gleichen betriebssystemspezifischen Voraussetzungen (skhd unter macOS, AutoHotkey unter Windows):
cargo install secret-stripper && secret-stripper init
Aus dem Quellcode (git):
cargo install --git https://github.com/kalix127/secret-stripper.git --locked && secret-stripper init
Nach der Installation Text markieren und die Tastenkombination drücken. Unter Linux wird die PRIMARY-Auswahl direkt gelesen, sodass Sie das Ctrl+C überspringen können. Einfügen mit Ctrl+V (Cmd+V unter macOS).
Führen Sie secret-stripper menu aus, um Einstellungen anzupassen, oder secret-stripper --help für alle Befehle.
| Betriebssystem | Status | Hotkey-Backend |
|---|---|---|
| Linux | ✅ Unterstützt | gsettings (GNOME / Cinnamon / Unity / Budgie / Pantheon), gsettings (MATE-Schema), xfconf-query (XFCE), kwriteconfig + qdbus (KDE Plasma 5/6) |
| macOS | ✅ Unterstützt | skhd (~/.skhdrc) oder Hammerspoon (~/.hammerspoon/init.lua); manuelle Anweisungen, wenn keines installiert ist |
| Windows | ✅ Unterstützt | AutoHotkey v2 (%APPDATA%\secret-stripper\secret-stripper.ahk) - Installation über winget install AutoHotkey.AutoHotkey |
Ein echter globaler Hotkey lässt sich unter macOS nicht ohne Installation und ohne residenten Prozess registrieren. Secret Stripper selbst bleibt ein One-Shot-Tool und delegiert die Hotkey-Erfassung daher an einen von zwei bekannten Helfern: skhd (leichtgewichtig, empfohlen) oder Hammerspoon (umfangreicher, skriptbar). Ist keines installiert, gibt init als Fallback manuelle Bindungsanweisungen aus.
skhd über Homebrew installieren:
brew install koekeishiya/formulae/skhd
secret-stripper init ausführen. Es schreibt ~/.skhdrc, den launchd-LaunchAgent für den täglichen Update-Check und die Konfigurationsdatei. Die Ausgabe enthält eine Zeile "DE binding": OK, wenn skhd / Hammerspoon erkannt wurde, FAILED mit Installationshinweisen, wenn nicht.
skhd die Bedienungshilfen-Berechtigung erteilen. skhd benötigt diese, um globale Hotkeys abzufangen; andernfalls erfasst es stillschweigend nichts. Öffnen Sie Systemeinstellungen -> Datenschutz & Sicherheit -> Bedienungshilfen, klicken Sie auf +, fügen Sie /usr/local/bin/skhd hinzu und aktivieren Sie es. Falls skhd bereits ausgeführt wurde, starten Sie es neu, damit die neue Berechtigung wirksam wird:
skhd --restart-service
Die Tastenkombination testen:
echo "[email protected]" | pbcopy
# Press your chord (default: Cmd+Shift+C)
pbpaste # expect: [REDACTED]
Hammerspoon-Alternative: brew install --cask hammerspoon, öffnen Sie es einmal, um die Bedienungshilfen-Berechtigung zu erteilen, und führen Sie dann secret-stripper init aus - es schreibt die Bindung in ~/.hammerspoon/init.lua statt in ~/.skhdrc.
Standard-Tastenkombination: Cmd+Shift+C. macOS-Apps beanspruchen häufig Tastenkombinationen mit der Cmd-Taste. Wenn die Kombination also mit etwas kollidiert, das Sie verwenden (Browser-DevTools, Finder „Copy Path" usw.), binden Sie sie über secret-stripper menu -> Rebind Hotkey neu. Zwei sicherere Optionen, falls Sie vorausplanen möchten: Cmd+Option+X oder Cmd+Ctrl+X.
Windows bietet keine Möglichkeit ohne Installation, einen echten globalen Hotkey zu registrieren. Gleiche Einschränkung wie unter macOS - Secret Stripper delegiert die Hotkey-Erfassung an AutoHotkey v2 (das Windows-Pendant zu skhd). AutoHotkey verwendet unter der Haube die Win32-RegisterHotKey-API und ist der einzige Mechanismus, der die Tastenkombination zuverlässig über fokussierte Fenster, Vollbild-Apps und Prozesse mit erhöhten Rechten hinweg liefert. AutoHotkey ist erforderlich - init bricht mit einem Installationshinweis ab, wenn AutoHotkey nicht gefunden wird.
AutoHotkey über winget installieren:
winget install AutoHotkey.AutoHotkey
Das Paket installiert AutoHotkey v2 in C:\Program Files\AutoHotkey\v2\.
secret-stripper init ausführen. Es schreibt %APPDATA%\secret-stripper\secret-stripper.ahk, legt eine Autostart-.lnk an, damit AHK das Skript bei jeder Anmeldung neu startet, und startet den AHK-Prozess sofort, sodass die Tastenkombination ohne Abmeldung aktiv ist.
Die Tastenkombination testen:
Set-Clipboard "[email protected]"
# Press your chord (default: Ctrl+Alt+C)
Get-Clipboard # expect: [REDACTED]
Ctrl+Alt+<key> beschränkt (optional mit Shift); andere Kombinationen werden abgelehnt.Ctrl+C, dann die Tastenkombination).schtasks-Aufgabe um 11:00 Uhr..ahk-Datei sowie die Autostart-.lnk. Andere AHK-Skripte, die Sie ausführen, bleiben unberührt.| Kategorie | Beispiele |
|---|---|
| 🔴 Cloud-Geheimnisse | AWS-Schlüssel, Google-API-Schlüssel, Azure-Anmeldedaten, OpenAI-Tokens, Stripe-Schlüssel, Heroku-API-Schlüssel |
| 🔴 Auth-Tokens | GitHub-Tokens, GitLab-Tokens, Slack-Tokens, Discord-Tokens, JWTs, Bearer-Tokens, NPM-Tokens |
| 🔴 Kryptografische Schlüssel | RSA/EC/OpenSSH-Privatekeys, PGP-Privatekeys, SSH-Publickeys |
| 🔴 Personenbezogene Daten (PII) | Kreditkartennummern, SSNs, Telefonnummern, E-Mail-Adressen, Passnummern |
| 🟠 Verbindungsstrings | PostgreSQL-, MongoDB-, Redis-, MySQL-, JDBC-URLs mit Anmeldedaten |
| 🟡 Heuristik | Ungewöhnliche Zeichenketten, Env-Dateien mit Geheimnissen, JSON mit Passwortfeldern, base64-kodierter Inhalt |
| 🟢 Sicher | Normaler Text, E-Mails, Dokumente - keine Fehlalarme |
Die vollständige Liste der Buckets, Schweregrade und Muster finden Sie in DETECTION_COVERAGE.md.
Wählen Sie unter secret-stripper menu -> Redaction Style, wie erkannte Geheimnisse ersetzt werden:
| Stil | Ausgabe für aws=AKIAIOSFODNN7EXAMPLE |
|---|---|
| Marker (Standard) | aws=[REDACTED] - verwendet eine konfigurierbare Markierungszeichenfolge (acht Voreinstellungen + benutzerdefiniert) |
| Drop | aws= - entfernt die übereinstimmenden Bytes vollständig |
| Typed | aws=[AWS_ACCESS_KEY_ID] - ersetzt jede Fundstelle durch ein Tag, das aus dem Namen des erkannten Musters abgeleitet wird |
| Placeholder | aws=AKIAIOSFODNN7EXAMPLE - setzt einen realistischen, aber unechten Beispielwert für das erkannte Muster ein (eine E-Mail wird zu [email protected], ein Stripe-Schlüssel zu sk_test_4eC39HqLyjWDarjtT1zdp7dc) |
Dieselbe Einstellung gilt für die Hotkey-Auslösung, den Pipeline-Unterbefehl redact und den KI-TUI-Wrapper paste-guard.
Geheimnisse befinden sich oft in Screenshots, nicht nur in Text - ein Terminal-Schnappschuss, ein Konfigurationsbereich, ein API-Dashboard. Wenn Sie die Tastenkombination auslösen und die Zwischenablage statt Text ein Bild enthält, führt Secret Stripper eine OCR auf dem Bild durch, verwendet denselben Detektor wie für Text und zeichnet einen durchgehend schwarzen Kasten nur über die Wörter, die ein Geheimnis enthalten. Das redigierte Bild wird zurück in die Zwischenablage geschrieben. Saubere Bildteile bleiben unberührt - der gesamte Screenshot wird nie geschwärzt.
Nur unter Linux unterstützt - sowohl X11 als auch Wayland. Unter macOS und Windows redigiert die Tastenkombination weiterhin Text; ein Bild in der Zwischenablage bleibt unberührt.
Befindet sich ein Bild in der Zwischenablage, redigiert die Tastenkombination das Bild, auch wenn Sie Text markiert haben - Screenshot -> Tastenkombination funktioniert also einfach.
Es wird die tesseract-OCR-CLI im PATH benötigt. Sie ist eine optionale Laufzeitabhängigkeit: alles andere funktioniert ohne sie.
sudo pacman -S tesseract tesseract-data-eng # Arch
sudo apt install tesseract-ocr # Debian / Ubuntu
sudo dnf install tesseract # Fedora
Es greift das Fail-Closed-Prinzip: Wenn tesseract fehlt, das Bild nicht gelesen werden kann oder ein erkanntes Geheimnis nicht lokalisiert werden kann, bleibt die Zwischenablage unberührt und Sie erhalten eine Benachrichtigung - das Originalbild wird niemals stillschweigend durchgereicht und niemals gelöscht. OCR macht diesen Pfad langsamer als den sofortigen Textpfad (etwa eine halbe Sekunde bis einige Sekunden für einen vollständigen Screenshot). Warten Sie also auf die Benachrichtigung, bevor Sie einfügen.
Die Bildredigierung ist standardmäßig deaktiviert. Aktivieren Sie sie über secret-stripper menu -> Detection Settings -> Screenshot redaction oder setzen Sie enable_image_scan = true in config.toml.
secret-stripper init sucht nach installierten KI-Terminal-Tools (Claude Code, Codex CLI, aider, Gemini CLI, Continue, opencode) und gibt einen kopierfertigen Shell-Alias-Block aus. Jeder Alias leitet das Tool über paste-guard, einen PTY-Wrapper, der Zwischenablage-Einfügungen abfängt und Geheimnisse redigiert, bevor sie die Eingabeaufforderung der KI erreichen - Tippen und normale Ausgabe bleiben unberührt. Kopieren Sie den Ausschnitt in Ihre Shell-Konfiguration (~/.zshrc, ~/.bashrc, ~/.config/fish/config.fish oder Ihr PowerShell-Profil) und öffnen Sie eine neue Shell:
# ----------------------------------
alias claude='secret-stripper paste-guard -- claude'
alias codex='secret-stripper paste-guard -- codex'
# ----------------------------------
Secret Stripper schreibt niemals von sich aus in Ihre Shell-rc-Datei. Um die Weiterleitung über paste-guard zu beenden, löschen Sie den Block zwischen den Kommentarzeilen mit den Strichen.
Umfang. paste-guard ist ein Wrapper pro Prozess - er filtert nur Einfügungen in den einen Befehl, mit dem Sie ihn ausgeführt haben. Die tägliche Nutzung von ssh, psql, vim, kubectl, der nackten Shell-Eingabeaufforderung, GUI-Apps und der System-Zwischenablage - alles völlig unberührt. Sie können auch von Hand Aliase für Nicht-KI-Tools hinzufügen (Live-Demos gegen psql / mysql, Bildschirmaufnahmen) - das Umwickeln von Blattbefehlen ist in Ordnung, das Umwickeln einer ganzen Shell meist nicht.
Sie können auch beliebigen Text durch dieselbe Engine leiten:
cat secrets.log | secret-stripper redact > clean.log
Einschränkungen. Bracketed Paste muss von Ihrem Terminal unterstützt werden (jeder moderne Emulator unterstützt dies, einschließlich des integrierten VSCode-Terminals und des tmux-Passthrough); getippte Geheimnisse werden nie verändert, sondern nur eingefügte; Einfüge-Nutzdaten über 1 MiB werden unredigiert durchgereicht.
Siehe CONTRIBUTING.md für Build-, Test-, Lint- und Commit-Konventionen.