Volver a actualizaciones
Nuevo releaseSep 11, 2026

foxguard v0.13.0

Un escáner de seguridad de código rápido y universal, escrito en Rust. Baterías incluidas: soporta 14 idiomas, TUI para triaje, secretos, auditorías post-cuánticas, escaneos con detección de diferencias y más 𓃥

Compartir

foxguard

foxguard

Escaneo de seguridad local rápido para código, secretos, dependencias y riesgo criptográfico.
Integrado en 0sec, el arnés de ciberseguridad de código abierto.

CI foxguard: clean crates.io npm Install GitHub App

npx foxguard .

foxguard scan demo

Por qué

  •   Más de 200 reglas integradas en 12 lenguajes fuente, además de comprobaciones de configuración y manifiestos
  •   Seguimiento de taint para 14 lenguajes, con análisis entre archivos para Python, JavaScript, Go, Java, Ruby, PHP, C# y Kotlin
  •   Escaneos locales y de CI rápidos, con modo diff para "¿qué añadió esta rama?"
  •   Escaneo de secretos, escaneo de dependencias respaldado por OSV y auditoría de criptografía post-cuántica
  •   Puente YAML compatible con Semgrep/OpenGrep que carga ~98% del registro público (informe de cobertura)
  •   Salida en terminal, JSON, SARIF, CycloneDX 1.6 CBOM y JSON compatible con Semgrep

Instalación

npx foxguard .                                      # sin instalación
curl -fsSL https://foxguard.dev/install.sh | sh     # binario precompilado (macOS/Linux)
cargo install foxguard                              # desde el código fuente

Las instalaciones precompiladas verifican los binarios de la versión contra checksums.txt. Los binarios de la versión también publican atestaciones de artefactos de GitHub; usa gh attestation verify para verificación manual, o consulta procedencia de la versión.

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.13.0
    hooks:
      - id: foxguard

Integraciones: GitHub App, VS Code, plugin de Claude Code y servidor MCP.

Operaciones del GitHub App alojado

foxguard-github-app escribe logs JSON delimitados por saltos de línea. Los escaneos completados y fallidos usan event=foxguard.scan.completed y event=foxguard.scan.failed, con campos de entrega, instalación, repositorio, PR, commit, duración y usage_scope para correlación. Mantén los identificadores como campos de log, no como etiquetas de métricas.

Establece FOXGUARD_INTERNAL_ACCOUNTS como una lista separada por comas de tus propias cuentas y organizaciones de GitHub. La coincidencia no distingue mayúsculas de minúsculas. Otros propietarios se clasifican como external; una lista no establecida o un propietario ausente produce unknown. La actividad externa no es prueba de un cliente de pago, y los escaneos no son personas.

El registro de instalaciones se reconcilia contra todas las páginas de la API de instalaciones de la App de GitHub al inicio y cada hora. Las actualizaciones fallidas conservan el estado existente; los webhooks concurrentes tienen prioridad. Los metadatos de webhook dispersos preservan los detalles de cuenta conocidos y los nombres de repositorio observados. Esos nombres no son un inventario completo de los repositorios accesibles de una instalación.

Persiste FOXGUARD_INSTALLATIONS_PATH y FOXGUARD_PULL_REQUEST_JOBS_PATH en almacenamiento duradero. Monitoriza foxguard.installations.reconcile_failed junto con los fallos de escaneo; foxguard.installations.reconciled informa el total y los recuentos de instalaciones internas/externas/desconocidas tras una actualización exitosa. Dimensiona FOXGUARD_PR_WORKERS según el pico de memoria medido del escáner y el límite de memoria del contenedor: las muertes por OOM de procesos hijos pueden ocurrir sin reiniciar la aplicación alojada.

Inicio rápido

foxguard .                              # escanear todo
foxguard diff main .                    # solo hallazgos nuevos respecto a main
foxguard secrets .                      # credenciales y claves filtradas
foxguard sca .                          # vulnerabilidades de dependencias desde OSV
foxguard pqc .                          # auditoría de criptografía post-cuántica
foxguard --format sarif . > results.sarif
foxguard --format semgrep-json .        # JSON compatible con la CLI de Semgrep

Usa foxguard --fix src/ o foxguard --fix src/app.py para aplicar correcciones de taint compatibles in situ. Los objetivos se verifican contra el directorio de escaneo canónico o el archivo seleccionado; los hallazgos fuera de ese ámbito se omiten. Las correcciones de inyección de comandos en Python añaden import subprocess cuando es necesario, preservando los docstrings del módulo y los imports futuros. Revisa los cambios generados antes de hacer commit.

Cobertura de lenguajes

LenguajeReglas integradasSeguimiento de taintReglas conscientes del framework
JavaScript / TypeScriptSíSíExpress, Next.js
PythonSíSíDjango, Flask, FastAPI
GoSíSíGin
KotlinSíSíSpring
JavaSíSíSpring
RubySíSíRails
PHPSíSíLaravel
RustSí----
C#SíSí.NET
SwiftSíSíiOS
HaskellSí--Reglas de semilla de Cardano

El seguimiento de taint también cubre C, Bash y Solidity. Los escaneos de configuración, manifiestos y reglas externas cubren Dockerfile, Nginx, Apache, HAProxy, HCL/Terraform, YAML/JSON/XML/HTML, C mediante Semgrep YAML/Coccinelle, y más.

Modos de seguridad

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

SCA admite Cargo.lock, package-lock.json, pnpm-lock.yaml, requirements.txt, poetry.lock y Pipfile.lock. La auditoría PQC es una tarjeta de puntuación de dos caras: señala primitivas vulnerables a la computación cuántica (RSA, ECDSA/DSA, ECDH/DH) con plazos de migración de CNSA 2.0, y también detecta algoritmos post-cuánticos ya en uso (ML-KEM, ML-DSA, SLH-DSA, FN-DSA, HQC y híbridos como X25519MLKEM768) como inventario informativo resistente a la computación cuántica, informando un porcentaje de preparación para la migración. Ambas caras se exportan a un CycloneDX 1.6 CBOM, donde los algoritmos post-cuánticos aparecen como activos resistentes a la computación cuántica en lugar de vulnerabilidades.

Configuración

foxguard descubre automáticamente .foxguard.yml desde la ruta de escaneo hacia arriba.

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

secrets:
  exclude_paths: [fixtures, testdata]

Suprime un hallazgo aceptado en línea con // foxguard: ignore[rule-id].

Documentación

Comienza con el índice de documentación. Referencias clave: arquitectura, compatibilidad con Semgrep/OpenGrep y el runbook de versiones.

Benchmarks

RepoLoCfoxguardSemgrepAceleración
express15K JS0.28s6.09s22x
flask14K Py0.33s6.51s20x
gin18K Go0.50s4.95s10x
sentry1.3M Py35s194s5x

Reprodúcelo con ./benchmarks/run.sh; los resultados varían según la máquina. Consulta benchmarks/README.md.

Contribuir

Consulta CONTRIBUTING.md para la autoría de reglas, pruebas y configuración de desarrollo.

Licencia

MIT OR Apache-2.0 -- 0sec Labs

Categorías