foxguard

module
v0.12.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 15, 2026 License: MIT, Apache-2.0

README

foxguard

foxguard

Fast local security scanning for code, secrets, dependencies, and crypto risk.

CI crates.io npm Install GitHub App

npx foxguard .

foxguard scan demo

Why

  • 200+ built-in rules across 12 source languages, plus config and manifest checks
  • Taint tracking for 14 languages, with cross-file analysis for Python, JavaScript, Go, Java, Ruby, PHP, C#, and Kotlin
  • Fast local and CI scans, with diff mode for “what did this branch add?”
  • Secrets scanning, OSV-backed dependency scanning, and post-quantum crypto audit
  • Semgrep/OpenGrep-compatible YAML bridge that loads ~98% of the public registry (coverage report)
  • Terminal, JSON, SARIF, CycloneDX 1.6 CBOM, and Semgrep-compatible JSON output

Install

npx foxguard .                                      # zero install
curl -fsSL https://foxguard.dev/install.sh | sh     # prebuilt binary (macOS/Linux)
cargo install foxguard                              # from source

Prebuilt installs verify release binaries against checksums.txt. Release binaries also publish GitHub artifact attestations; use gh attestation verify for manual verification, or see release provenance.

GitHub Action:

- uses: 0sec-labs/foxguard/action@v0.12.0
  with:
    path: .
    severity: medium
    fail-on-findings: "true"
    upload-sarif: "true"

pre-commit:

repos:
  - repo: https://github.com/0sec-labs/foxguard
    rev: v0.12.0
    hooks:
      - id: foxguard

Integrations: GitHub App, VS Code, Claude Code plugin, and MCP server.

Quick Start

foxguard .                              # scan everything
foxguard diff main .                    # only new findings vs main
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

Language Coverage

Language Built-in rules Taint tracking Framework-aware rules
JavaScript / TypeScript Yes Yes Express, Next.js
Python Yes Yes Django, Flask, FastAPI
Go Yes Yes Gin
Kotlin Yes Yes Spring
Java Yes Yes Spring
Ruby Yes Yes Rails
PHP Yes Yes Laravel
Rust Yes -- --
C# Yes Yes .NET
Swift Yes Yes iOS
Haskell Yes -- Cardano seed rules

Taint tracking also covers C, Bash, and Solidity. Config, manifest, and external-rule scans cover Dockerfile, Nginx, Apache, HAProxy, HCL/Terraform, YAML/JSON/XML/HTML, C via Semgrep YAML/Coccinelle, and more.

Security Modes

foxguard sca .
foxguard pqc .
foxguard --rules ./semgrep-rules .

SCA supports Cargo.lock, package-lock.json, pnpm-lock.yaml, requirements.txt, poetry.lock, and Pipfile.lock. The PQC audit is a two-sided scorecard: it flags quantum-vulnerable primitives (RSA, ECDSA/DSA, ECDH/DH) with CNSA 2.0 migration deadlines, and it also detects post-quantum algorithms already in use (ML-KEM, ML-DSA, SLH-DSA, FN-DSA, HQC, and hybrids like X25519MLKEM768) as informational, quantum-resistant inventory — reporting a migration-readiness percentage. Both sides export to a CycloneDX 1.6 CBOM, where post-quantum algorithms appear as quantum-resistant assets rather than vulnerabilities.

Configuration

foxguard auto-discovers .foxguard.yml from the scan path upward.

scan:
  baseline: .foxguard/baseline.json
  disable_rules: [py/no-eval]

secrets:
  exclude_paths: [fixtures, testdata]

Suppress an accepted finding inline with // foxguard: ignore[rule-id].

Benchmarks

Repo LoC foxguard Semgrep Speedup
express 15K JS 0.28s 6.09s 22x
flask 14K Py 0.33s 6.51s 20x
gin 18K Go 0.50s 4.95s 10x
sentry 1.3M Py 35s 194s 5x

Reproduce with ./benchmarks/run.sh; results vary by machine. See benchmarks/README.md.

Contributing

See CONTRIBUTING.md for rule authoring, tests, and development setup.

License

MIT OR Apache-2.0 -- 0sec Labs

Directories

Path Synopsis
tests
fixtures command
Negative fixtures for the Go taint engine.
Negative fixtures for the Go taint engine.
fixtures/realistic command
Small realistic Gin service used for end-to-end validation of the Go taint engine.
Small realistic Gin service used for end-to-end validation of the Go taint engine.
fixtures/semgrep_taint command
Safe fixture: no taint should flow into exec.Command().
Safe fixture: no taint should flow into exec.Command().

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL