
CLI-Tool, das CVEs in einfachem Englisch erklärt und Repos auf Auswirkungen scannt. Unterstützt von Claude.
"Betrifft mich diese CVE überhaupt?" — in Sekunden beantwortet, nicht in Stunden.
Sentinel nimmt eine CVE-ID, ruft Daten von NVD, OSV.dev und MITRE ab und nutzt Claude, um eine klare, handlungsorientierte 5-Punkte-Schwachstellenübersicht zu erstellen.
cd sentinel/
pip install -e .
# Required: Anthropic API key
sentinel config set api-key sk-ant-...
# Optional: NVD API key (higher rate limits)
sentinel config set nvd-key xxxxxxxx-xxxx-...
# Or use environment variables
export ANTHROPIC_API_KEY=sk-ant-...
export NVD_API_KEY=xxxxxxxx-xxxx-...
# Explain a CVE (5-section report with colored terminal output)
sentinel cve CVE-2024-3094
# Choose output persona (see Personas below)
sentinel cve CVE-2024-3094 --format exec # Executive / CISO summary
sentinel cve CVE-2024-3094 -f engineer # Deep technical advisory
sentinel cve CVE-2024-3094 -f devops # Infrastructure-focused
sentinel cve CVE-2024-3094 -f security # Default 5-section report
# Also works with scan
sentinel scan . --cve CVE-2024-3094 --format exec
# JSON output
sentinel cve CVE-2024-3094 --json
# Markdown output
sentinel cve CVE-2024-3094 --markdown
# Brief one-paragraph summary
sentinel cve CVE-2024-3094 --brief
# Skip cache, fetch fresh data
sentinel cve CVE-2024-3094 --no-cache
# Verbose mode (show timing and source details)
sentinel cve CVE-2024-3094 -v
--format / -f)security (Standard) — SicherheitsanalytikerDie klassische 5-Punkte-Schwachstellenübersicht:
| Abschnitt | Beantwortet dies |
|---|---|
| 🔍 Was es ist | Erklärung in einfachem Englisch |
| 💥 Wie auszunutzen | Angriffsvektor, PoC-Zusammenfassung, Schwierigkeit |
| 🚨 Wer in Panik geraten sollte | Betroffene Software, Versionen, Ökosysteme |
| 🛡️ Wie sicher zu patchen ist | Abhilfemaßnahmen, Patch-Links |
| ✅ Was zu testen ist | Überprüfungsschritte nach dem Patchen |
exec — Führungskraft / CISOEine 10-Sekunden-Lektüre für vielbeschäftigte Führungskräfte. Ampel-Farbcodierung, geschäftliche Auswirkungen, eine einzige Maßnahme. Kein Fachjargon.
🔴 CRITICAL — CVE-2024-3094 (XZ Backdoor)
A backdoor was planted in a core Linux compression library used across most servers.
Attackers can intercept and modify data on any system running xz 5.6.0-5.6.1.
Immediate downgrade required — estimated 15-30 min per server, no downtime expected.
Risk: Supply chain compromise — high severity, active exploitation
Impact: All Linux infrastructure running affected versions
Action needed: Downgrade xz to 5.4.6. Verify with `xz --version`.
engineer — SoftwareentwicklerTiefer technischer Einblick mit exakten Versionen, Upgrade-Befehlen, grep-Mustern und Tests:
| Abschnitt | Fokus |
|---|---|
| 📦 Betroffene Bibliotheken & Versionen | Exakte Versionsbereiche, Abhängigkeitsketten |
| 🔧 Code-Ebene Abhilfe | Spezifische Upgrade-Befehle, Konfigurationsänderungen |
| 🔍 Nach was greppen | Muster zur Suche in Ihrer Codebasis |
| 🧪 So testen Sie den Fix | Überprüfungsbefehle, Regressionstests |
| ⚠️ Breaking Changes | Veraltungen, Verhaltensunterschiede |
devops — DevOps / SREInfrastrukturfokussiert mit Containern, K8s, CI/CD und Überwachung:
| Abschnitt | Fokus |
|---|---|
| 🏗️ Betroffene Infrastruktur | Basis-Images, Container, Cloud-Dienste |
| 🚀 Auswirkungen auf die Bereitstellung | Rolling-Update-Strategie, Ausfallzeitbewertung |
| 🔄 Rollback-Plan | Rückgängigmachung bei Problemen durch den Patch |
| 📊 Überwachung & Erkennung | Logs, Alarme, Erkennung von Ausnutzung |
| 🚨 Schritte zur Incident-Response | Schritt-für-Schritt bei aktiver Ausnutzung |
Sentinel erkennt Abhängigkeiten in Build-Konfigurationen mobiler Apps, die von Standard-Scannern übersehen werden:
| Ökosystem | Analysierte Dateien | Sperrdatei (bevorzugt) |
|---|---|---|
| Android (Gradle) | build.gradle, build.gradle.kts, gradle/libs.versions.toml | — |
| iOS (CocoaPods) | Podfile | Podfile.lock |
| iOS (Swift PM) | Package.swift | Package.resolved |
| Flutter (Dart) | pubspec.yaml | pubspec.lock |
# Scan an Android project
sentinel scan ./my-android-app --cve CVE-2024-XXXX
# Scan an iOS project
sentinel scan ./my-ios-app --cve CVE-2024-XXXX
# Scan a Flutter project
sentinel scan ./my-flutter-app
Funktionen:
$firebaseBomVersion) aus gradle.properties und ext {}-Blöcken auflibs.versions.toml)Firebase/Analytics)Scannen Sie Ihren Kubernetes-Cluster nach verwundbaren Container-Images:
# Scan all namespaces
sentinel scan --k8s
# Scan specific namespace
sentinel scan --k8s --namespace production
# Check specific CVE across cluster
sentinel scan --k8s --cve CVE-2024-3094
# Generate SBOM for all running images
sentinel scan --k8s --sbom
# Scan a specific image (no cluster connection needed)
sentinel scan --k8s --image nginx:1.25
Sentinel benötigt schreibgeschützten Zugriff. Wenden Sie das minimale RBAC-Manifest an:
kubectl apply -f config/k8s-rbac.yaml
Dadurch wird ein sentinel-readonly-ServiceAccount erstellt, der nur get und list für Pods, Namespaces, Deployments, ReplicaSets, DaemonSets und StatefulSets hat. Kein Schreibzugriff.
Bestimmen Sie, ob eine CVE Ihren Code tatsächlich betrifft, indem Sie nachverfolgen, ob verwundbare Funktionen von Einstiegspunkten aus erreichbar sind:
# Full analysis with Claude interpretation
sentinel scan . --cve CVE-2024-22195 --execution-path
# Local-only (no data sent externally)
sentinel scan . --cve CVE-2024-22195 --execution-path --local-only
Bewertungen:
| Modus | Nach außen gesendete Daten |
|---|---|
--local-only | Nichts — reine lokale AST-Analyse |
| Standard | Nur bereinigte Metadaten: Funktionsnamen, Importnamen, Call-Graphen-Kanten (Knoten-/Kantenliste), CVE-Beschreibung. Niemals Quellcode. |
Alle an Claude gesendeten Daten werden zur Überprüfung in ~/.sentinel/audit.log protokolliert.
sentinel cache clear # Clear all cached data
Konfiguration gespeichert unter ~/.sentinel/config.json. Cache unter ~/.sentinel/cache.db.
sentinel config set api-key <key>
sentinel config set nvd-key <key>
sentinel config set model <model-name>
sentinel config get api-key
Sentinel enthält einen FastAPI-Server, der Befehle von Slack, Microsoft Teams, Telegram und einer generischen REST-API akzeptiert.
sentinel server start # Default port 8080
sentinel server start --port 9090 # Custom port
sentinel server start --workers 4 # Multiple workers
sentinel server status # Check if running
# Explain a CVE
curl -X POST http://localhost:8080/api/cve \
-H "Content-Type: application/json" \
-d '{"cve_id": "CVE-2024-3094"}'