KI-gestützter SAST-Scanner, der Auth-Bypass, IDOR und Logikfehler findet, die Semgrep/CodeQL übersehen. Kostenlose GitHub Action. Unterstützt Python, JS/TS, Go, PHP, Ruby.
KI-gestützter Code-Sicherheitsscanner, der Schwachstellen findet, die Semgrep und CodeQL übersehen.
Schnellstart • GitHub Action • Vergleich • Sprachen • FAQ
Herkömmliche SAST-Tools basieren auf Mustererkennung und AST-Regeln. Sie sind hervorragend darin, bekannte Schwachstellenmuster zu erkennen, aber sie können grundlegend nicht die Absicht nachvollziehen.
Wenn Ihre API 20 Endpunkte hat und 19 davon die Autorisierung überprüfen, bevor sie auf eine Ressource zugreifen, kann Semgrep den einen nicht markieren, der dies nicht tut – weil es kein Muster gibt, mit dem abgeglichen werden kann. Die Schwachstelle ist die eines Musters.
VulnHawk analysiert Code mit KI und fügt für jedes untersuchte Code-Stück zugehörigen Code aus anderen Teilen Ihrer Codebasis als Kontext hinzu. Dieser Anreicherungsschritt ermöglicht es der KI, zu vergleichen, wie ähnliche Komponenten Sicherheit handhaben – und diejenige zu erkennen, die es nicht tut.
pip install vulnhawk
Wählen Sie ein Backend:
# Claude Code CLI - FREE for subscribers (recommended)
vulnhawk scan ./src -b claude-code
# Codex CLI - FREE for ChatGPT Pro/Plus subscribers
vulnhawk scan ./src -b codex
# Claude API
export ANTHROPIC_API_KEY=sk-ant-...
vulnhawk scan ./src
# OpenAI API
vulnhawk scan ./src -b openai -m gpt-4o
# Ollama - free, local, fully private
vulnhawk scan ./src -b ollama -m llama3.1
Keine Konfigurationsdateien. Keine Regeln, die geschrieben werden müssen. Keine Datenbank zum Aufbauen.
Die Backends Claude Code und Codex sind kostenlos für Benutzer mit bestehenden Abonnements. VulnHawk leitet Prompts über Ihre lokale CLI, sodass keine zusätzlichen API-Kosten anfallen.
| Fähigkeit | VulnHawk | Semgrep | CodeQL | Snyk Code | Checkmarx | SonarQube |
|---|---|---|---|---|---|---|
| Erkennungsmethode | KI-Schlussfolgerung | AST-Muster | QL-Datenfluss | ML + Regeln | Muster + Fluss | Muster |
| Geschäftslogikfehler | Ja | Nein | Eingeschränkt | Eingeschränkt | Eingeschränkt | Nein |
| Dateiübergreifender Kontext | Automatisch | Benutzerdefinierte Regeln | Benutzerdefinierte Abfragen | Teilweise | Bezahlte Stufe | Eingeschränkt |
| Aufwand für Einrichtung | Keine Konfiguration | Regelkonfiguration | DB-Erstellung + QL | Konfigurationsdatei | Komplex | Server-Setup |
| Benutzerdefinierte Regeln erforderlich | Nein | Ja (YAML) | Ja (QL) | Teilweise | Ja | Ja |
| Kontextbewusste Korrekturen | Ja | Generisch | Generisch | Generisch | Generisch | Generisch |
| Lokaler / privater Modus | Ollama | Ja | Ja | Nein | Nein | Selbst gehostet |
| CI/CD-Integration | 1-Zeilen-Action | Action | Action | Action | Plugin | Plugin |
| SARIF-Eingabe (Tools verketten) | Ja |
*Kostenlos mit Claude Code, Codex CLI oder Ollama. API-Backends kosten ca. 0,50–2,00 $ pro Scan.
| Schwachstellenklasse | Warum regelbasierte Tools sie übersehen |
|---|---|
| Fehlende Autorisierung bei 1-von-N-Endpunkten | Kein Muster zum Abgleichen – der Fehler ist die Abwesenheit einer Überprüfung |
| IDOR / BOLA | Erfordert das Verständnis, dass die Benutzer-ID im JWT mit der ID in der URL übereinstimmen muss |
| Manipulation des Zahlungsbetrags | Geschäftslogik – das Betragsfeld sollte nicht vom Client vertraut werden |
| Inkonsistente Eingabevalidierung | 5 Handler bereinigen, der 6. nicht – benötigt dateiübergreifenden Vergleich |
| Missbrauch gespeicherter Eingabe | Eingabe sicher gespeichert, aber 3 Dateien entfernt mit eval() oder rohem SQL ausgeführt |
| Race Conditions bei Zustandsaktualisierungen | Gleichzeitige Saldenänderungen ohne Sperrung |
VulnHawk ist als ergänzende Schicht konzipiert, nicht als Ersatz:
| Ebene | Tool | Zweck |
|---|---|---|
| 1 | Semgrep | Schnelle, deterministische Absicherung gegen bekannte schlechte Muster |
| 2 | CodeQL | Tiefer Taint-Tracking durch komplexe Aufrufketten |
| 3 | VulnHawk | Geschäftslogik, Authentifizierungslücken, IDOR und Inkonsistenzen, die Regeln nicht ausdrücken können |
vulnhawk scan ./src # Full scan (default)
vulnhawk scan ./src --mode auth # Auth bypass, missing checks, session flaws
vulnhawk scan ./src --mode injection # SQLi, command injection, SSTI, XSS
vulnhawk scan ./src --mode secrets # Hardcoded keys, tokens, passwords
vulnhawk scan ./src --mode config # Debug mode, permissive CORS, insecure cookies
vulnhawk scan ./src --mode crypto # Weak hashing, hardcoded keys, bad RNG
vulnhawk scan ./src -o json -f results.json # JSON
vulnhawk scan ./src -o sarif -f results.sarif # SARIF (GitHub Code Scanning)
vulnhawk scan ./src -o markdown -f report.md # Markdown report
vulnhawk scan ./src --severity high # Critical + High only
vulnhawk scan ./src --severity info # Everything
Geben Sie die Ausgabe von Semgrep, CodeQL oder einem anderen SARIF-produzierenden Tool in VulnHawk ein. Es verwendet diese Funde als zusätzlichen Kontext, um sie zu validieren, zu erweitern und zu verketten, um tiefere Schwachstellen zu finden.
# Run Semgrep first, then enrich with VulnHawk
semgrep --config auto ./src -o semgrep.sarif --sarif
vulnhawk scan ./src --sarif-input semgrep.sarif
Was dies ermöglicht:
vulnhawk info ./src # Preview files, chunks, and language breakdown
VulnHawk führt einen Basis-Scan auf Ihrem Standard-Branch und inkrementell bei jedem Pull Request durch.
name: VulnHawk Security Scan
on:
push:
branches: [main, master]
pull_request:
permissions:
security-events: write
contents: read
jobs:
vulnhawk:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: momenbasel/vulnhawk@main
with:
target: '.'
backend: 'claude-code'
claude-code-oauth-token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}
severity: 'medium'
fail-on-findings: 'true'
Die Funde werden automatisch über SARIF in den Reiter Sicherheit > Code-Scanning von GitHub hochgeladen.
| Backend | Konfiguration |
|---|---|
| Claude Code (kostenlos) |
Holen Sie sich Ihr Token: |
| Codex (kostenlos) |
Erfordert |
| Claude API |
|
| OpenAI API |
|
steps:
- uses: actions/checkout@v4
- name: Semgrep (fast pattern scan)
uses: returntocorp/semgrep-action@v1
with:
config: auto
generateSarif: true
- name: VulnHawk (deep AI analysis)
uses: momenbasel/vulnhawk@main
with:
target: '.'
backend: 'claude-code'
claude-code-oauth-token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}
sarif-input: 'semgrep.sarif'
| Sprache | Erweiterungen | Framework-Erkennung |
|---|---|---|
| Python | .py | Django, Flask, FastAPI |
| JavaScript | .js .jsx | Express, Fastify, Next.js |
| TypeScript | .ts .tsx | Express, NestJS, Fastify |
| Go | .go | net/http handlers |
| Java | .java | Klass/Methoden-Aufteilung |
| PHP | .php | Laravel-Routen, Klassen, Traits, Interfaces |
| Ruby | .rb .erb | Rails-Routen, Klassen, Module |
Codebase ──> Discover ──> Chunk ──> Enrich ──> Analyze ──> Validate ──> Report
│ │ │ │ │
Respects Functions Related LLM with Dedup +
.gitignore Classes code from security confidence
.vulnhawk- Routes same dir + prompts scoring
ignore Modules auth patterns
Der Anreicherungsschritt ist der Kernunterschied. Für jedes Code-Stück fügt VulnHawk Folgendes hinzu:
Dies gibt der KI den Kontext, den sie benötigt, um Inkonsistenzen zu erkennen.
Pfade vom Scannen ausschließen (gitignore-Syntax):
generated/
vendor/
third_party/
*.gen.go
| Variable | Beschreibung |
|---|---|
CLAUDE_CODE_OAUTH_TOKEN | Claude Code CLI-Authentifizierung (kostenlos für Abonnenten) |
ANTHROPIC_API_KEY | Claude-API-Schlüssel |
OPENAI_API_KEY | OpenAI-API-Schlüssel |
| Backend | Pro Scan (~100 Dateien) | Voraussetzung |
|---|---|---|
| Claude Code CLI | Kostenlos | Claude Code Max- oder Team-Abonnement |
| Codex CLI | Kostenlos | ChatGPT Pro- oder Plus-Abonnement |
| Claude API | ~0,50 – 2,00 $ | Anthropic-API-Guthaben |
| OpenAI API | ~1,00 – 4,00 $ | OpenAI-API-Guthaben |
| Ollama | Kostenlos | Lokaler Rechner mit 8 GB+ VRAM |
Claude Code-Abonnements (Max für 100–200 $/Monat oder Team-Pläne) beinhalten eine unbegrenzte CLI-Nutzung. VulnHawk ruft im Hintergrund claude --print auf und leitet Analyse-Prompts über Ihr bestehendes Abonnement. Kein API-Schlüssel. Keine Abrechnung pro Token.
Führen Sie claude config get oauth_token auf Ihrem lokalen Rechner aus. Fügen Sie die Ausgabe als GitHub Actions-Geheimnis mit dem Namen CLAUDE_CODE_OAUTH_TOKEN hinzu.
Beides. Scans per Push auf main legen Ihre Sicherheitsbasis fest und füllen den Sicherheits-Tab. PR-Scans fangen neue Schwachstellen vor dem Merge ab. Die empfohlene Workflow-Konfiguration behandelt beide Auslöser.
Ja – Code-Stücke werden an den konfigurierten LLM-Anbieter (Anthropic oder OpenAI) gesendet. Für vollständig privates, luftspaltiges Scannen verwenden Sie das Ollama-Backend, das vollständig auf Ihrem lokalen Rechner läuft.
Nein. VulnHawk ist eine ergänzende Schicht. Semgrep und CodeQL sind hervorragend in dem, was sie tun (Mustererkennung und Taint-Tracking). VulnHawk erkennt die Geschäftslogikfehler, Authentifizierungslücken und Inkonsistenzen, die Regeln nicht ausdrücken können. Verwenden Sie alle drei zusammen für die stärkste Abdeckung.
Ja. VulnHawk enthält Framework-bewusstes Chunking für beide. Es erkennt Laravel-Route::get()-Definitionen, PHP-Klassen/Traits/Interfaces, Rails-Routendeklarationen (get, post, resources) und Ruby-Klassen/Module. Es extrahiert auch frameworkspezifische Importe (use, require, include).
Sie können VulnHawk eine SARIF-Datei von einem anderen Scanner (Semgrep, CodeQL, Snyk, usw.) übergeben. VulnHawk verwendet diese Funde als zusätzlichen Kontext während der Analyse – validiert sie, findet verwandte Probleme in der Nähe und erstellt mehrstufige Angriffsketten, die Funde über Tools hinweg verbinden.
Siehe CONTRIBUTING.md.
git clone https://github.com/momenbasel/vulnhawk.git
cd vulnhawk
uv venv .venv && source .venv/bin/activate
uv pip install -e ".[dev]"
pytest
Wenn VulnHawk für Sie nützlich ist, erwägen Sie, das Projekt zu sponsern, um die Weiterentwicklung zu unterstützen.
VulnHawk wird von GreyCore Labs entwickelt und gewartet, einem in den USA eingetragenen Unternehmen für offensive Sicherheit. Möchten Sie das gleiche Auge auf Ihr eigenes Produkt?
VulnHawk ist quellverfügbar unter der VulnHawk-Lizenz.
Kostenlos für alle – Einzelpersonen, Teams, Startups und Unternehmen dürfen VulnHawk kostenlos für interne Sicherheitsscans verwenden, sofern es von einem offiziellen Vertriebskanal installiert wird:
Sie dürfen die Software nicht verkaufen, als konkurrierenden Dienst anbieten oder Forks als Produkt weitergeben. Forks sind nur zum Einreichen von Pull-Requests an dieses Repository gestattet. Siehe LICENSE für die vollständigen Bedingungen.
| Nein |
| Nein |
| Nein |
| Nein |
| Nein |
| Preisgestaltung | Kostenlos* | Kostenlos / Bezahlt | Kostenlos / Bezahlt | Kostenlos / $$$ | $$$$$ | Kostenlos / $$$ |