AI-nativer Code-Sicherheitsauditor auf AgentField, der die Ausnutzbarkeit mit Urteilen, Spuren und handlungsrelevanten Beweisen nachweist.
Ausgabe • Benchmark • Funktionsweise • Vergleich • Schnellstart • API
Andere Tools markieren Muster. SEC-AF beweist Exploitability: Jeder Befund wird mit einer Bewertung, einem Datenfluss-Trace und handlungsrelevanten Beweisen geliefert. Kostenlos, Open Source, ein API-Aufruf. Eine vollständige Prüfung mit 30 bestätigten Befunden kostet etwa 1,40 $ an LLM-Aufrufen.
Auslösen mit der af CLI (erfordert af ≥ 0.1.87) — sie streamt Live-Fortschritt und gibt das Ergebnis aus:```bash
af call sec-af.audit --in '{"repo_url": "https://github.com/dolevf/Damn-Vulnerable-GraphQL-Application"}'
Bevorzugen Sie rohes HTTP? Greifen Sie direkt mit curl auf die API zu:```bash
curl -X POST http://localhost:8080/api/v1/execute/async/sec-af.audit \
-H "Content-Type: application/json" \
-d '{"input": {"repo_url": "https://github.com/dolevf/Damn-Vulnerable-GraphQL-Application"}}'
Dies ist ein echter Fund aus dem SEC-AF-Audit von DVGA (einer absichtlich angreifbaren GraphQL-Anwendung):```jsonc { "title": "OS Command Injection in run_cmd Helper Function", "severity": "critical", "verdict": "confirmed", // not "maybe" — confirmed exploitable "evidence_level": 5, "cwe_id": "CWE-78",
"rationale": "Tracer confirms complete data flow from GraphQL parameters (host, port, path, scheme, cmd, arg) to os.popen(cmd).read() sink. Sanitization functions are bypassable in Easy mode...",
"proof": { "verification_method": "composite_subagent_chain:sast", "data_flow_trace": [ { "description": "core/views.py:203 — GraphQL args defined (host, port, path, scheme)", "tainted": true }, { "description": "core/views.py:210 — URL constructed from user input", "tainted": true }, { "description": "core/views.py:211 — helpers.run_cmd(f'curl {url}') called", "tainted": true }, { "description": "core/helpers.py:9 — os.popen(cmd).read() executes input", "tainted": true } ] },
"location": { "file_path": "core/helpers.py", "start_line": 9, "code_snippet": "def run_cmd(cmd):\n return os.popen(cmd).read()" } }
Jeder Fund enthält ein **Urteil** (`confirmed` / `likely` / `inconclusive` / `not_exploitable`), ein **Beweisobjekt** mit der vollständigen Taint-Trace und die exakte Codestelle. Kein „könnte ein Problem sein“. SEC-AF verfolgt Daten von der Quelle zur Senke und beweist, ob sie tatsächlich ausnutzbar sind.
> Vollständige Benchmark-Ausgabe (30 Funde): [`exampl/dvga-benchmark-result.json`](https://github.com/agent-field/sec-af/blob/main/exampl/dvga-benchmark-result.json) | Leistungsanalyse: [`exampl/benchmark-analysis.json`](https://github.com/agent-field/sec-af/blob/main/exampl/benchmark-analysis.json)
## Benchmark: DVGA
Wir haben SEC-AF gegen die [Damn Vulnerable GraphQL Application](https://github.com/dolevf/Damn-Vulnerable-GraphQL-Application) ausgeführt, eine absichtlich verwundbare App mit 21 dokumentierten Sicherheitsszenarien.
| Metrik | Wert |
|---|---|
| Rohfunde entdeckt | 106 |
| Nach KI-Deduplizierung | 61 |
| **Nach adversarieller Verifikation** | **28 bestätigt** |
| Unschlüssig (manuelle Prüfung erforderlich) | 1 |
| Nicht ausnutzbar (korrekt abgelehnt) | 1 |
| Rauschreduzierung | 94 % |
| DAG-Kanten (Reasoner-Aufrufe) | 82 |
| Agentenaufrufe | ~166–255 |
| Ausgeführte Strategien | 11 |
| Reale Laufzeit | ~78 Min. |
| Geschätzte Kosten (Kimi K2.5) | ~0,18–0,90 USD |
<details>
<summary><strong>Aufschlüsselung: 30 verifizierte Funde nach Kategorie</strong></summary>
| Kategorie | Anzahl | Beispiele |
|---|---|---|
| Fehlende Authentifizierung | 8 | ImportPaste, delete_all_pastes, system_debug, CreateUser, file upload |
| Befehlseinschleusung | 4 | `os.popen(cmd)` via ImportPaste, system_debug, system_diagnostics |
| SQL-Einschleusung | 3 | Unsanitierter `filter` in `resolve_pastes`, LIKE-Musterinjektion, Login |
| Authentifizierungsumgehung | 3 | JWT-Signatur deaktiviert, JWT-Autorisierungsumgehung, defekte Passwort-Auth |
| Klartext-Zugangsdaten | 3 | Klartext-Passwortspeicherung, Klartextvergleich, Passwort in Diagnosedaten |
| SSRF | 2 | ImportPaste-Mutation folgt benutzerdefinierten URLs serverseitig |
| Geschäftslogik / URL-Bereinigung | 2 | Unzureichende URL-Bereinigung, unauthentifizierte Massenlöschung |
| DoS / Ressourcenerschöpfung | 3 | Fehlende Paginierung bei Benutzer-/Audit-Abfragen, unkontrolliertes simulate_load |
| Konfiguration / Geheimnisse | 2 | Hartcodierte JWT/Flask-Secrets, Debug-Modus in Produktion aktiviert |
</details>
<details>
<summary><strong>Entwurfsmuster: Wie KI-native Sicherheitsanalyse funktioniert</strong></summary>
SEC-AF wendet mehrere architektonische Muster an, die einzigartig dadurch ermöglicht werden, dass viele fokussierte KI-Agenten zusammengesetzt werden, anstatt einen monolithischen Scan auszuführen. Diese Muster adressieren grundlegende Herausforderungen in der KI-gesteuerten Sicherheitsanalyse.
**1. Adversarielle Agentenspannung (HUNT vs. PROVE)**
Die meisten KI-Sicherheitstools fragen ein einzelnes Modell „ist dies verwundbar?“ und akzeptieren die Antwort. SEC-AF trennt strukturell die _Findungs_-Agenten von den _Widerlegungs_-Agenten. Jäger werden angereizt, Verwundbarkeiten zu finden; Beweiser werden angereizt, sie zu widerlegen. Jeder Fund durchläuft eine 4-Agenten-Verifikationskette – ein Tracker rekonstruiert den Datenfluss, ein Bereinigungsanalysator sucht nach Absicherungen, die der Jäger übersehen haben könnte, ein Ausnutzungshypothesierer konstruiert ein konkretes Angriffsszenario, und ein Urteilsagent wägt alle widersprüchlichen Beweise ab. Diese adversarielle Spannung zwischen den Agenten ist es, die die Rauschreduzierung von 94 % antreibt – die Architektur selbst kodiert Skepsis.
**2. Signalkaskade mit progressiver Eingrenzung**
Anstatt alle Funde auf den Benutzer zu werfen, komprimiert die Pipeline das Signal auf jeder Stufe: 106 Rohfunde → 61 nach KI-Deduplizierung → 30 nach adversarieller Verifikation. Jede Phase ist ein Filter. Dies spiegelt wider, wie menschliche Sicherheitsteams triagieren – zuerst breite Entdeckung, dann zunehmend strengere Prüfung. Die entscheidende Erkenntnis ist, dass jeder Filter eine _andere Art_ von KI-Argumentation ist: semantische Ähnlichkeit für Deduplizierung, Taint-Analyse für Verifikation, Konstruktion von Ausnutzung für Bestätigung.
**3. Informationsökonomie durch Kontextbereinigung**