Ein schneller universeller Code-Sicherheitsscanner, geschrieben in Rust. Inklusive aller Werkzeuge: Unterstützt 14 Sprachen, TUI für Triage, Geheimnisse, Post-Quanten-Audits, diff-bewusste Scans und mehr 𓃥
Schnelles lokales Sicherheitsscanning für Code, Secrets, Abhängigkeiten und Krypto-Risiken.
Integriert in 0sec, den offenen Cybersecurity-Harness.
npx foxguard .
npx foxguard . # zero install
pipx install foxguard # prebuilt CLI from PyPI
curl -fsSL https://foxguard.dev/install.sh | sh # prebuilt binary (macOS/Linux)
cargo install foxguard # from source
Eigenständige Binary-Installer verifizieren GitHub-Release-Binaries gegen checksums.txt. Release-Binaries veröffentlichen außerdem GitHub-Artefakt-Attestierungen; verwenden Sie gh attestation verify zur manuellen Verifikation oder siehe Release-Provenienz.
PyPI-Wheels unterstützen Python 3.9+ unter Linux glibc 2.28+ (x86_64/ARM64), macOS
(Intel/Apple Silicon) und Windows x86_64. In einer bestehenden Python-Virtual-
Umgebung verwenden Sie stattdessen python -m pip install foxguard. Diese installieren die native
CLI ohne Rust-Compiler oder Laufzeit-Binary-Download; es wird keine Python-API
bereitgestellt. Alpine/musl-Nutzer sollten die eigenständigen Linux-Release-Binaries verwenden.
GitHub Action:
- uses: 0sec-labs/foxguard/[email protected]
with:
path: .
severity: medium
fail-on-findings: "true"
upload-sarif: "true"
pre-commit:
repos:
- repo: https://github.com/0sec-labs/foxguard
rev: v0.14.0
hooks:
- id: foxguard
Integrationen: GitHub App, VS Code, Claude Code Plugin und MCP-Server.
foxguard-github-app schreibt zeilengetrennte JSON-Logs. Abgeschlossene und fehlgeschlagene
Scans verwenden event=foxguard.scan.completed und event=foxguard.scan.failed, mit
Feldern für Delivery, Installation, Repository, PR, Commit, Dauer und usage_scope
zur Korrelation. Behalten Sie Identifikatoren als Log-Felder bei, nicht als Metrik-Labels.
Setzen Sie FOXGUARD_INTERNAL_ACCOUNTS auf eine kommagetrennte Liste Ihrer eigenen GitHub-
Konten und Organisationen. Die Übereinstimmung ist case-insensitive. Andere Inhaber werden als
external klassifiziert; eine nicht gesetzte Liste oder ein fehlender Inhaber ergibt unknown.
Externe Aktivität ist kein Beweis für einen zahlenden Kunden, und Scans sind keine Personen.
Die Installations-Registry wird beim Start und stündlich gegen alle Seiten von GitHubs App- Installations-API abgeglichen. Fehlgeschlagene Aktualisierungen behalten den bestehenden Zustand bei; gleichzeitige Webhooks haben Vorrang. Spärliche Webhook-Metadaten bewahren bekannte Kontodetails und beobachtete Repository-Namen. Diese Namen sind kein vollständiges Inventar der zugänglichen Repositories einer Installation.
Persistieren Sie FOXGUARD_INSTALLATIONS_PATH und FOXGUARD_PULL_REQUEST_JOBS_PATH auf
dauerhaftem Speicher. Überwachen Sie foxguard.installations.reconcile_failed zusammen mit
Scan-Fehlern; foxguard.installations.reconciled meldet die Gesamtzahl und die
Anzahl interner/externer/unbekannter Installationen nach einer erfolgreichen Aktualisierung.
Dimensionieren Sie FOXGUARD_PR_WORKERS anhand des gemessenen Spitzen-Speicherverbrauchs des Scanners und des
Container-Speicherlimits: OOM-Kills von Kindprozessen können auftreten, ohne die gehostete
Anwendung neu zu starten.
foxguard . # scan everything
foxguard diff main . # only new findings vs main
foxguard tui . # interactive terminal review
foxguard secrets . # leaked credentials and keys
foxguard sca . # dependency vulnerabilities from OSV
foxguard pqc . # post-quantum crypto audit
foxguard --format sarif . > results.sarif
foxguard --format semgrep-json . # Semgrep CLI-compatible JSON
Verwenden Sie foxguard --fix src/ oder foxguard --fix src/app.py, um unterstützte Taint-
Fixes direkt anzuwenden. Ziele werden gegen das kanonische Scan-Verzeichnis oder die
ausgewählte Datei geprüft; Funde außerhalb dieses Bereichs werden übersprungen. Python-Command-Injection-
Fixes fügen bei Bedarf import subprocess hinzu und bewahren Modul-Docstrings und Future-
Imports. Überprüfen Sie generierte Änderungen, bevor Sie sie committen.