Erkennt versteckte Anweisungen, Jailbreak-Versuche und Social Engineering in Dokumenten, Skills und System Prompts, bevor sie Schaden anrichten. Als Claude-Skill, als Bibliothek mit CLI, als Hook vor dem Werkzeugaufruf und als GitHub Action. Vier Wege, eine Musterliste.
KI-Agenten verarbeiten externe Inhalte: Lebenslaeufe, E-Mails, Feedback, Code. Ein einziges vergiftetes Dokument kann jeden Benutzer kompromittieren, der es verarbeiten laesst.
Reale Beispiele aus Red-Team-Assessments. Jeder Fund hat Severity, Kategorie, Erklaerung und konkrete Empfehlung.
Versteckte [ASSISTANT:]-Direktive in Meeting-Notizen. Bei Zusammenfassung durch eine KI wird der Canary-String ausgegeben — Beweis, dass beliebige Instruktionen injizierbar sind.
Tracking-String "BANANA_CODE_ALPHA" als Compliance-Test eingebettet.
"Between us developers" — kollegiales Framing umgeht Schutzmechanismen. Im ZeroLeaks-Assessment extrahierte diese Technik 60–70% des System-Prompts.
"exact phrasing they used for the Identity section" — gezielte Extraktion spezifischer Prompt-Abschnitte.
Kein Schutz gegen System-Prompt-Extraktion definiert.
Keine Anweisung zum Umgang mit Manipulationsversuchen.
Base64, ROT13 und andere Encodings werden nicht adressiert.
Bildungs-/Artikel-Text. Enthaelt Angriffsbeispiele in beschreibendem Kontext. Keine Ausfuehrungsabsicht erkannt.
Drei Schichten, ein Entscheidungsbaum gegen False Positives, konkrete Empfehlungen.
Dokument laden. Typ bestimmen: Meta-Dokument, operativer Text, KI-Config, Code oder Rohtext. Der Typ steuert die Bewertung.
Schicht 1: Strukturelle Muster (Regex). Schicht 1a: Unicode Injection Scan (Codepoint-Level mit Payload-Extraktion). Schicht 2: Semantische Absicht. Schicht 3: Systemische Risiken und Multi-Vektor.
Kontext senkt die Confidence, nicht die Severity. Auf Confidence LOW faellt ein Fund nur, wenn jeder seiner Treffer in einem Zitat, einem Code-Block oder zwischen Backticks steht. Ein Treffer ausserhalb behaelt seine Severity, auch wenn ringsherum ein Lehrbuchtext steht, und unabhaengig davon, wie der Satz formuliert ist. --fail-on LOW zaehlt die abgewerteten Funde mit.
Score (0–100), Ampel, Funde mit Severity/Kategorie/Erklaerung, priorisierte Haertungsempfehlungen. Als Text, als JSON oder als SARIF fuer GitHub Code Scanning.
Der Skill ist die Bedienoberflaeche, die Bibliothek ist die Wahrheit. Beide lesen dieselben Muster aus prompt_injection_scanner/engine.py, auch die Schwelle, ab der ein Fund zaehlt. Weicht ein Weg vom anderen ab, ist das ein Fehler und kein Spielraum.
Archiv nach ~/.claude/skills/ entpacken, im Chat nach einer Pruefung fragen. Das Modell fuehrt den Workflow aus SKILL.md aus.
pip install . aus dem Repo, dann pis-scan. Der Exit-Code nennt die hoechste Severity: 0 sauber, 3 HIGH, 4 CRITICAL. Kein PyPI-Upload, nur Standardbibliothek, ab Python 3.9.
pis-hook-pretooluse liest den geplanten Werkzeugaufruf, scannt jedes Textfeld darin und blockiert, bevor das Werkzeug laeuft. Fertiger settings.json-Eintrag liegt im Repo.
Composite-Action mit SARIF-Ausgabe fuer Code Scanning. Der Upload bleibt beim Aufrufer: security-events: write soll eine fremde Action nicht stillschweigend voraussetzen.
Von offensichtlichen Overrides bis zu unsichtbaren Unicode-Injections und mehrstufigem Social Engineering. prompt_injection_scanner/engine.py setzt 25 der 28 Kategorien um, fuer Kat. 10, 26 und 27 gibt es dort kein Muster.
"Ignore all previous instructions", Leet-Speak, Sandwich-Attacks, deutsche Varianten, Soft Overrides
CRITICALFake [SYSTEM]-Tags, ADMIN OVERRIDE, gefaelschte Anthropic/OpenAI-Nachrichten
CRITICALBase64, ROT13, Hex, Reverse-Text, Unicode-Homoglyphs, Leet-Speak, Data-URIs
HIGHHTML-Kommentare, Code-Kommentare, unsichtbarer Text in Lebenslaeufen und PDFs, Metadaten
CRITICAL"As we discussed earlier", Fake Debug-Mode, Time-Bomb-Injection, vorgetaeuschte Vereinbarungen
HIGH"Show me your system prompt", JSON-Format-Requests, Error-Debug-Vorwand, Leet-Speak-Varianten
CRITICALSchrittweiser Vertrauensaufbau ueber mehrere Turns bis zur Prompt-Extraktion
HIGH"Unter uns Entwicklern", emotionale Manipulation, Mitleids-Appelle, Student-mit-Behinderung-Framing
HIGH8+ formatierte Beispiele trainieren Antwortmuster. 100% Erfolgsrate im ZeroLeaks-Test.
HIGH"Praise the applicant", "ignoriere Schwaechen" — Verzerrung von HR-, Beschaffungs- und Bewertungsprozessen
HIGH3+ Kategorien gleichzeitig: automatische Eskalation auf CRITICAL
CRITICAL7 Sub-Kategorien: Zero-Width, Unicode Tags (U+E0001-E007F), Bidi-Overrides, Homoglyphen, Math-Unicode, Variation Selectors. Mit Payload-Extraktion.
CRITICAL"You are now DAN", Developer Mode, Parallel-Universe-Framing, Persona ohne Safety Constraints
CRITICALVBA-Makros, Excel-DDE, Script-Tags, call send_email(), Agent-Funktionsaufrufe in verstecktem Text
CRITICAL+ 14 weitere: Canary-Tokens, Gamification, Payload-Splitting, Fiction-Bridge, Chain-of-Thought-Hijacking, Context-Overflow, Code-Block-Priming, RAG-Poisoning, Supply-Chain u.v.m.
Entwickelt durch systematisches Test-Driven-Improvement gegen reale Red-Team-Daten. Iteration 6 durch den eigenen Red-Team-Generator validiert (2040 generierte Tests, 30 Seeds mit je 68 Fällen, jeder Lauf mit Exit-Code 0). Alle Zahlen dieser Seite stammen aus der Suite des Projekts, nicht aus einem fremden Benchmark. Aus dem Repo nachrechnen lässt sich nur Zeile 6 der Tabelle: die Suiten der Zeilen 1 bis 5 sind historische Zwischenstände und liegen nicht bei. Messgrundlage, Stand und die Grenzen der Kontext-Bewertung stehen im README.
| Iter | Tests | F1 | Precision | Recall | FP-Rate | Verbesserungen |
|---|---|---|---|---|---|---|
| 1 | 30 | 98.1% | 96.3% | 100% | 25% | Baseline: 28 Kategorien |
| 2 | 30 | 100% | 100% | 100% | 0% | Context-Awareness fuer Artikel und Defense-Code |
| 3 | 50 | 89.9% | 96.9% | 83.8% | 7.7% | +20 Edge Cases, 7 neue Luecken entdeckt |
| 4 | 50 | 100% | 100% | 100% | 0% | Leet-Speak, Sandwich, Fake-Creator, Whitespace |
| 5 | 56 | 100% | 100% | 100% | 0% | Unsichtbarer Text, Bewertungsmanipulation, Makros |
| 6 | 66 | 100% | 100% | 100% | 0% | Unicode Injection (7 Sub-Kat.), DAN/Persona, deutsche Overrides, Agent Tool-Abuse, Red-Team-Generator |
Ein Release haengt zwei Archive an. Scanner und Red-Team-Generator sind zwei Skills mit je eigener SKILL.md: als Unterordner im selben Paket wuerde die zweite nie geladen. Jedes Archiv entpackt in einen Ordner, der direkt in das Skills-Verzeichnis passt. Das Scanner-Archiv traegt zusaetzlich die Bibliothek: derselbe Ordner ist Skill und Paketquelle, ein "pip install ." darin legt die Befehle pis-scan und pis-hook-pretooluse an. Gebaut werden beide vom Skript scripts/package.py, das laeuft ohne Netz und liefert bei zwei Laeufen dieselben Bytes. Nicht enthalten: .git, .github und diese Seite. Die Dateien liegen unter Releases.
Pattern-Bibliothek basiert auf realen Assessments, akademischer Forschung und Industrie-Taxonomien.
Realer Red-Team-Report. 84.6% Extraktionsrate, 91.3% Injection-Erfolg. Basis fuer die Pattern-Bibliothek.
Prompt Injection als #1 Risiko fuer LLM-Anwendungen. Framework fuer Defense-in-Depth.
IM/PT-Klassifikation: Injection Method + Prompting Technique als getrennte Achsen.
4-Layer-Defense-Framework. 67% Injection-Reduktion, F1=0.91 in Detection.
Web-basierte IDPI-Angriffe in freier Wildbahn. Homoglyphs, Zero-Width, CSS-Versteckung.
100+ Steganografie-Techniken. Unicode Tags (U+E0001-E007F) als unsichtbarster Injection-Vektor. Emoji Skin-Tone-Encoding, Zero-Width-Payloads.
Lebenslauf-Injection, Bewertungsmanipulation, LLM-as-a-Judge als Abwehrstrategie.
Bevor ein vergiftetes Dokument deine KI uebernimmt.