Im Skills-Beitrag vom 29. September habe ich drei Werkzeuge geprüft, darunter VibeSec als Sicherheits-Skill beim Schreiben von Code. Im answer-me-with-html-Beitrag vom 5. Oktober und im Mods-Beitrag kamen weitere Skills dazu. Heute beschreibe ich einen Skill, der anders ansetzt: statt beim Schreiben von Code prüft er ein fertiges Repository nach Sicherheitslücken.
der security-audit-skill
Das Repo ist cloudflare/security-audit-skill. Laut README ist es der Skill, aus dem Cloudflares Vulnerability-Harness entstand. Cloudflare beschreibt den Hintergrund im Blogbeitrag "Build your own vulnerability harness".
Umfang: 21 Dateien, 5.276 Zeilen. Das ist kein einfaches Checklisten-Dokument. Die SKILL.md hat 192 Zeilen, dazu kommen drei Ablaufdateien und elf Dateien mit Angriffsklassen: Web und Auth, Client-Side, LLM und Agenten, Supply-Chain und Release, Cloud und Deployment, RPC und Messaging, Ressourcenerschöpfung, Datenisolation, Desktop, Mobile und IPC sowie Memory-Safety. Zwei Node-Validatoren ohne externe Abhängigkeiten prüfen die Ausgabe gegen ein Schema: validate-findings.cjs und validate-coverage-ledger.cjs, beide mit Tests.
sechs phasen
1 reconnaissance
architecture.md und coverage-ledger.json werden angelegt. Diese Dokumente steuern alle weiteren Phasen.
2 suche
Isolierte Hunter-Agenten suchen parallel. Ein Kritiker sucht danach nach Lücken im Coverage-Ledger.
3 validierung
Frische Verifier-Agenten versuchen, jeden Kandidaten zu widerlegen. Bestätigt ist ein Fund erst mit vollständiger Quellspur und beobachtetem Ergebnis.
4 ausgabe
findings.json wird gegen report-schema.json validiert. Ungültige Einträge werden abgewiesen.
5 belege
Frische Agenten prüfen die finalen Quellbelege noch einmal.
6 bericht
Drei Dateien: REPORT.md, FINDINGS-DETAIL.md und NEEDS-VALIDATION.md.
Phase 1 ist Reconnaissance: Das Modell legt architecture.md und coverage-ledger.json an. Diese beiden Dokumente steuern alle weiteren Phasen.
Phase 2 ist die Coverage-geführte Suche: Isolierte Hunter-Agenten arbeiten parallel. Ein Kritiker sucht danach nach Lücken im Coverage-Ledger.
Phase 3 ist die Kandidaten-Validierung: Frische Verifier-Agenten versuchen, jeden Fund zu widerlegen. Bestätigt ist ein Fund erst mit vollständiger Quellspur und beobachtetem Ergebnis.
Phase 4 ist die strukturierte Ausgabe: findings.json gegen report-schema.json validiert. Ungültige Einträge werden abgewiesen.
Phase 5 ist eine unabhängige Prüfung der finalen Quellbelege durch frische Agenten.
Phase 6 ist der Bericht: REPORT.md, FINDINGS-DETAIL.md und NEEDS-VALIDATION.md.
Vor jeder Welle werden Kritiker und Verifier reserviert. Reicht das Budget nicht, werden Einheiten zurückgestellt statt dünn geprüft.
drei urteile
| urteil | bedeutung | bedingung |
|---|---|---|
| confirmed | Fund ist gültig | vollständige Quellspur und beobachtetes Ergebnis vorhanden |
| needs_validation | offene Tatsache, keine Severity | eine benannte Tatsache ist offen, z. B. keine Sandbox für Zielcode |
| rejected | Fund ist widerlegt | Verifier hat den Fund erfolgreich widerlegt |
Jeder Fund bekommt eines von drei Urteilen. Confirmed bedeutet: vollständige Quellspur und beobachtetes Ergebnis liegen vor. Needs validation bedeutet: eine genau benannte Tatsache ist noch offen, zum Beispiel weil Zielcode ohne Sandbox nicht laufen darf. Solche Funde bekommen keine Severity. Rejected bedeutet: der Verifier hat den Fund erfolgreich widerlegt.
Ein Fund ohne Quellspur und Ergebnis bekommt nie confirmed. Das verlangt die SKILL.md ausdrücklich.
profile und kosten
| profil | agenten | einsatz |
|---|---|---|
| quick | eine Hunter-Welle, ein Abschluss-Kritiker | Alltagsprüfung, scoped Diffs |
| standard | vier Reconnaissance-Agenten + Hunter je Welle, plus Kritiker und Verifier (Default) | reguläre Audits |
| deep | Einheiten je Subsystem, Kritiker-Wellen bis sauber | Auth, Billing-Code, Pre-Launch |
Quick ist ein begrenzter Durchgang für kleine Ziele oder einen ersten Blick. Standard ist der Default: vier Reconnaissance-Agenten plus Hunter pro Welle, dazu Kritiker und Verifier. Deep ist für große oder kritische Ziele: Einheiten je Subsystem, Kritiker-Wellen bis zu einem sauberen Durchgang.
Kosten steigen schnell, weil jede Welle mehrere Agenten parallel startet. Für scoped Runs kann man einen Pfad, ein Subsystem oder einen Diff zwischen zwei Refs angeben. Alles außerhalb gilt als out_of_scope, nicht als covered. Läufe sind additiv.
in mein sicherheitssystem
| schicht | zeitpunkt | aufgabe |
|---|---|---|
| security-guidance-Hook | jeder Edit (BUILD) | prüft jede Dateiänderung auf unsichere Muster, läuft vor /codex:adversarial-review |
| VibeSec | beim Schreiben (BUILD) | lädt bei Web-Code mit Auth, Eingaben, SQL oder Weiterleitungen; ändert, wie Code geschrieben wird |
| /security-review + /codex:adversarial-review | Diff (REVIEW) | prüft den aktuellen Diff aus zwei unabhängigen Perspektiven |
| security-audit | Gesamt-Repo (REVIEW / Pre-Launch) | Sechs-Phasen-Audit mit Hunter- und Verifier-Agenten, Beleg je Fund, Ausgabe nach .ai/security-audit/ |
Ich habe heute den Skill installiert und in mein bestehendes System eingeordnet. Die anderen Schichten laufen schon länger:
- Der security-guidance-Hook prüft jeden Edit auf unsichere Muster.
- VibeSec lädt beim Schreiben von Web-Code mit Auth, Eingaben, SQL oder Weiterleitungen.
- /security-review und /codex:adversarial-review prüfen Diffs.
Was fehlte: ein Audit über das ganze Repository mit Belegen je Fund. Das ist die Lücke, die security-audit füllt.
Die Original-Skill-Beschreibung ist sehr breit ("Use for security questions, focused reviews ..."). Das hätte VibeSec verdrängt. Ich habe die description auf ausdrückliche Repo-Audits oder Pfad-Audits begrenzt und auf VibeSec, /security-review und /codex:adversarial-review verwiesen.
installation
installation
terminal# global installieren, nur für Claude Code
npx skills add https://github.com/cloudflare/security-audit-skill \
--skill security-audit --global -a claude-code
# Prompt in Claude Code (Beispiele aus dem README)
# security audit this codebase
# find security vulnerabilities in ./srcstolperstein: 56 agenten-ordner
Der Installationsbefehl mit -y hat den Skill in 56 Agenten-Ordner verlinkt: Devin, Goose, Roo, Windsurf und viele weitere. Eine Installation (PromptScript) schlug fehl. Ich habe 53 Links wieder entfernt. Geblieben sind drei: ~/.agents/skills (Quelle), ~/.claude/skills und ~/.codex/skills.
Tipp: Mit -a claude-code legt die CLI den Skill nur im Claude-Code-Ordner ab.
meine neue regel
Ich habe eine neue Regel in meine globale CLAUDE.md aufgenommen: Repo-Audit vor Launch oder bei Auth und Billing mit security-audit, Profil quick oder scoped. Deep nur für Auth, Billing oder Pre-Launch. Ausgabe nach <repo>/.ai/security-audit/. Auf dem Server nie /tmp als Schreibziel. Danach /codex:adversarial-review.
Den ersten eigenen Audit-Lauf habe ich noch nicht durchgeführt. Keine Fundzahlen, keine Laufzeiten. Das kommt in einem eigenen Beitrag.
der kern in drei sätzen
Der security-audit-Skill von Cloudflare prüft ein Repository in sechs Phasen mit isolierten Hunter- und Verifier-Agenten. Bestätigt wird ein Fund nur mit vollständiger Quellspur und beobachtetem Ergebnis. In mein bestehendes Sicherheitssystem füllt der Skill eine Lücke: den Gesamtüberblick über ein Repository vor einem Launch.
häufige Fragen
Was macht der security-audit-Skill?
Er prüft ein Repository oder einen Pfad in sechs Phasen auf Sicherheitslücken. Isolierte Hunter-Agenten suchen parallel, Verifier-Agenten versuchen jeden Fund zu widerlegen. Das Ergebnis sind drei Dateien: REPORT.md, FINDINGS-DETAIL.md und NEEDS-VALIDATION.md.
Was kostet ein Lauf?
Standard startet vier Reconnaissance-Agenten plus Hunter, Kritiker und Verifier. Das ist nicht günstig. Quick ist das Alltagsprofil. Deep lohnt sich nur für Auth, Billing oder einen bevorstehenden Launch.
Worin unterscheidet sich der Skill von VibeSec?
VibeSec ändert, wie Claude Code neuen Code schreibt. Der security-audit-Skill prüft bestehenden Code rückwirkend. Beide ergänzen sich: VibeSec beim Schreiben, security-audit beim Audit.
Kann der Skill gefährlichen Code ausführen?
Laut SKILL.md läuft Zielcode nur in einer Sandbox. Fehlt sie, führt das Modell nichts aus und meldet den Fund als needs_validation. Das ist eine Anweisung an das Modell, keine technische Sperre.
quellen und stand
Stand: 05.10.2026. Quelle: github.com/cloudflare/security-audit-skill, README und SKILL.md, gelesen 05.10.2026. Cloudflare Blogbeitrag: blog.cloudflare.com/build-your-own-vulnerability-harness. Kein eigener Audit-Lauf: keine Fundzahlen oder Laufzeiten.


