KI-Coding-Assistenten wie Cursor oder Claude Code arbeiten lokal und können sensible Daten auslesen, bevor ein Commit erfolgt. Doch herkömmliche Secret-Scanner fokussieren sich meist erst auf den Git-Workflow. Das Tool shk schließt diese Lücke, indem es lokale Dateien, Logs und Prompts vor der Verarbeitung prüft und blockiert – noch bevor sensible Informationen in KI-Assistenten gelangen oder in Git landen.
Warum herkömmliche Secret-Scanner zu spät greifen
Die meisten Secret-Scanner konzentrieren sich darauf, Anmeldedaten und sensible Daten nach dem Commit zu erkennen – etwa in Git-Repositories, CI-Pipelines oder Release-Artifacts. Doch KI-Coding-Assistenten agieren bereits vor diesem Schritt:
- Sie lesen lokale Dateien und folgen Import-Ketten.
- Sie fassen Fehlerprotokolle zusammen, die möglicherweise Zugangsdaten enthalten.
- Sie führen Shell-Befehle aus, die
.env-Dateien auslesen. - Sie generieren neue Dateien, die implizit sensible Daten aus dem Kontext enthalten.
*Genau hier setzt shk an:* Es prüft sensible Daten bereits in der lokalen Phase, bevor sie in KI-Tools oder Git gelangen.
Praktische Funktionen von shk
shk ist kein weiteres Überwachungs-Dashboard, sondern ein schlankes CLI-Tool in Rust, das sich nahtlos in bestehende Workflows integriert. Die Hauptanwendungsfälle umfassen:
- Maskieren von Prompts: Vor dem Teilen eines Logs oder Prompts mit einem KI-Tool können sensible Daten automatisch unkenntlich gemacht werden.
- Managed Hooks für KI-Tools: shk installiert Hooks für Tools wie Claude Code, Cursor oder Codex, um gefährliche Operationen zu blockieren oder zu protokollieren.
- Git-Hooks und CI-Integration: Die gleichen Prüfregeln lassen sich auch auf Git-Hooks und CI-Pipelines anwenden.
Durch eine zentrale Konfigurationsdatei (shk.toml) bleibt die Policy konsistent – lokal, in KI-Tools, Git und CI.
Schnellstart mit shk
Die Installation erfolgt über einen einfachen Befehl:
curl --proto '=https' --tlsv1.2 -LsSf | shFür Windows-Nutzer steht ein PowerShell-Skript zur Verfügung:
powershell -c "irm | iex"Nach der Installation kann ein Projekt-Scan gestartet werden:
shk init # Erstellt eine Standard-Konfigurationsdatei
shk scan . # Scannt das aktuelle VerzeichnisDie Ausgabe zeigt potenzielle Risiken wie API-Schlüssel oder persönliche Daten:
3 findings
HIGH secret.openai_api_key src/app.ts:12 (Möglicher OpenAI-API-Schlüssel)
MED pii.ja.phone config/dev.ts:5 (Japanische Telefonnummer)
MED pii.en.ssn docs/test.md:8 (US-Sozialversicherungsnummer)Für automatisierte Workflows lässt sich die Ausgabe auch im JSON-Format generieren:
shk scan . --jsonSollen sensible Daten in einem Log vor dem Teilen mit einem KI-Tool maskiert werden, genügt:
shk mask < prompt.txtKI-spezifische Hooks: Automatisierte Überwachung
Besonders nützlich sind die Managed Hooks für KI-Tools. Statt manuell jeden Prompt zu prüfen, installiert shk Hooks direkt in die Konfiguration der Tools:
# Vorschau der Änderungen (--dry-run)
shk hooks install-ai --dry-run
# Audit-Modus: Protokolliert Findings, blockiert aber nicht
shk hooks install-ai --audit
# Installation für ein bestimmtes Tool
shk hooks install-ai --tool cursor
shk hooks install-ai --tool claude-code --globalUnterstützte Tools und ihre Konfigurationen:
- Claude Code:
.claude/settings.json - Cursor:
.cursor/hooks.json - Codex:
.codex/config.toml
Die Hooks sind klar als shk-verwaltet markiert (z. B. durch "_shk_managed": true in JSON-Dateien oder Kommentarblöcke wie # shk-managed-start).
Überprüfung von Absichten, nicht nur von Texten
Traditionelle Secret-Scanner analysieren lediglich den Inhalt von Dateien. shk geht einen Schritt weiter und prüft auch die Absichten hinter Aktionen – etwa wenn ein KI-Tool:
- sensible Pfade liest oder schreibt,
.env-Dateien ausliest,- destruktive Befehle wie
rm -rfausführt, - Datenbankbefehle oder Systemkonfigurationen ändert,
- externe Daten überträgt oder Paketmanager nutzt.
Die Standard-Policy (recommended) ist konservativ. Ein strict-Modus kann sogar undurchsichtige Ausführungformen wie bash -c oder python -e blockieren, da diese oft ein höheres Risiko bergen.
Audit-Phase vor der Sperrung
Die Hooks von shk entscheiden über Exit-Codes:
- 0: Keine kritischen Findings oder Audit-Modus aktiv.
- 1: Findings haben die Schwelle überschritten.
- 2: Blockierende Aktion oder fehlender Git-Kontext.
Ein typischer Rollout-Prozess sieht so aus:
- Audit-Modus aktivieren, um Findings zu sammeln:
shk hooks install-ai --audit- Logs analysieren (
.shk/audit.log) und die Policy anpassen. - Blockier-Modus aktivieren, sobald die Findings akzeptabel sind:
shk hooks install-aiDie Logs enthalten nur Metadaten (z. B. Tool-Namen, Pfade, Schweregrad), keine sensiblen Rohdaten.
Nahtlose Integration in Git und CI
Auch wenn shk primär für KI-Tools entwickelt wurde, bleibt Git ein zentraler Bestandteil des Workflows. So lässt sich ein Git-Hook installieren:
shk hooks installFür CI-Pipelines generiert shk eine GitHub-Actions-Workflow-Datei:
shk ci init githubDer generierte Workflow nutzt Standard-Konfigurationen wie:
- Minimale Berechtigungen (
permissions: contents: read) - Automatische Abbruchregeln bei neuen Commits (
concurrency: cancel-in-progress: true)
Fazit: shk füllt eine kritische Lücke im Sicherheits-Ökosystem von KI-Coding-Tools. Es erkennt sensible Daten bereits in der lokalen Phase, bevor sie in KI-Assistenten oder Git gelangen – und bietet gleichzeitig eine einfache Integration in bestehende Workflows. Für Teams, die mit KI-Tools arbeiten, ist es ein unverzichtbares Werkzeug, um Compliance und Sicherheit von Anfang an zu gewährleisten.
KI-Zusammenfassung
AI destekli kodlama araçları yerel dosyaları okurken hassas veriler sızabiliyor. Yerel gizlilik koruması için geliştirilen `shk` aracının nasıl çalıştığını keşfedin.