foxguard 0.9.0

A security scanner as fast as a linter, written in Rust. 170+ built-in rules across 11 languages.
Documentation
# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2021"
name = "foxguard"
version = "0.9.0"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A security scanner as fast as a linter, written in Rust. 170+ built-in rules across 11 languages."
homepage = "https://foxguard.dev"
readme = "README.md"
keywords = [
    "security",
    "linter",
    "static-analysis",
    "sast",
    "vulnerability",
]
categories = [
    "command-line-utilities",
    "development-tools",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/0sec-labs/foxguard"

[features]
default = []
github-app = [
    "dep:base64",
    "dep:axum",
    "dep:tokio",
    "dep:hmac",
    "dep:hex",
    "dep:tower-http",
    "dep:tracing",
    "dep:tracing-subscriber",
    "dep:jsonwebtoken",
]

[lib]
name = "foxguard"
path = "src/lib.rs"

[[bin]]
name = "foxguard"
path = "src/main.rs"

[[bin]]
name = "foxguard-adapter"
path = "src/bin/foxguard_adapter.rs"

[[bin]]
name = "foxguard-github-app"
path = "src/bin/foxguard_github_app.rs"
required-features = ["github-app"]

[[bin]]
name = "foxguard-mcp"
path = "src/bin/foxguard_mcp.rs"

[[bin]]
name = "foxguard_process_test_helper"
path = "tests/bin/process_test_helper.rs"

[[bin]]
name = "gen_rules_ts"
path = "src/bin/gen_rules_ts.rs"

[[bin]]
name = "registry_coverage"
path = "src/bin/registry_coverage.rs"

[[test]]
name = "ast_rule_batch_bench"
path = "tests/ast_rule_batch_bench.rs"

[[test]]
name = "cnsa2_compliance"
path = "tests/cnsa2_compliance.rs"

[[test]]
name = "coccinelle_integration"
path = "tests/coccinelle_integration.rs"

[[test]]
name = "cross_language_matrix"
path = "tests/cross_language_matrix.rs"

[[test]]
name = "fp_secret_names"
path = "tests/fp_secret_names.rs"

[[test]]
name = "integration"
path = "tests/integration.rs"

[[test]]
name = "kernel_dirty_frag"
path = "tests/kernel_dirty_frag.rs"

[[test]]
name = "mcp_server"
path = "tests/mcp_server.rs"

[[test]]
name = "process_wrapper"
path = "tests/process_wrapper.rs"

[[test]]
name = "realistic_fixtures"
path = "tests/realistic_fixtures.rs"

[[test]]
name = "release_provenance"
path = "tests/release_provenance.rs"

[[test]]
name = "rule_inventory"
path = "tests/rule_inventory.rs"

[[test]]
name = "semgrep_compat_bench"
path = "tests/semgrep_compat_bench.rs"

[[test]]
name = "semgrep_integration"
path = "tests/semgrep_integration.rs"

[[test]]
name = "semgrep_parity"
path = "tests/semgrep_parity.rs"

[[test]]
name = "semgrep_parity_c"
path = "tests/semgrep_parity_c.rs"

[[test]]
name = "semgrep_parity_generic"
path = "tests/semgrep_parity_generic.rs"

[[test]]
name = "semgrep_parity_go"
path = "tests/semgrep_parity_go.rs"

[[test]]
name = "semgrep_parity_hcl"
path = "tests/semgrep_parity_hcl.rs"

[[test]]
name = "semgrep_parity_inverse"
path = "tests/semgrep_parity_inverse.rs"

[[test]]
name = "semgrep_parity_java"
path = "tests/semgrep_parity_java.rs"

[[test]]
name = "semgrep_parity_javascript"
path = "tests/semgrep_parity_javascript.rs"

[[test]]
name = "semgrep_parity_kotlin"
path = "tests/semgrep_parity_kotlin.rs"

[[test]]
name = "swift_safe"
path = "tests/swift_safe.rs"

[dependencies.axum]
version = "0.7"
features = [
    "http1",
    "tokio",
    "json",
    "macros",
]
optional = true
default-features = false

[dependencies.base64]
version = "0.22"
optional = true

[dependencies.clap]
version = "4"
features = ["derive"]

[dependencies.colored]
version = "2"

[dependencies.crossterm]
version = "0.29"

[dependencies.globset]
version = "0.4"

[dependencies.hex]
version = "0.4"
optional = true

[dependencies.hmac]
version = "0.12"
optional = true

[dependencies.ignore]
version = "0.4"

[dependencies.include_dir]
version = "0.7"

[dependencies.jsonwebtoken]
version = "10.4.0"
features = ["rust_crypto"]
optional = true

[dependencies.pep440_rs]
version = "0.7"

[dependencies.ratatui]
version = "0.30"

[dependencies.rayon]
version = "1"

[dependencies.regex]
version = "1"

[dependencies.reqwest]
version = "0.13.3"
features = [
    "blocking",
    "json",
    "rustls",
]
default-features = false

[dependencies.semver]
version = "1"

[dependencies.serde]
version = "1"
features = ["derive"]

[dependencies.serde_json]
version = "1"

[dependencies.serde_yaml_ng]
version = "0.10"

[dependencies.sha2]
version = "0.10"

[dependencies.shlex]
version = "1"

[dependencies.tempfile]
version = "3"

[dependencies.tokio]
version = "1"
features = [
    "macros",
    "rt-multi-thread",
    "signal",
]
optional = true
default-features = false

[dependencies.toml]
version = "0.8"

[dependencies.tower-http]
version = "0.6"
features = [
    "trace",
    "limit",
]
optional = true
default-features = false

[dependencies.tracing]
version = "0.1"
optional = true

[dependencies.tracing-subscriber]
version = "0.3"
features = [
    "fmt",
    "env-filter",
]
optional = true
default-features = false

[dependencies.tree-sitter]
version = "0.25"

[dependencies.tree-sitter-bash]
version = "0.23"

[dependencies.tree-sitter-c]
version = "0.24"

[dependencies.tree-sitter-c-sharp]
version = "0.23"

[dependencies.tree-sitter-containerfile]
version = "0.8"

[dependencies.tree-sitter-elixir]
version = "0.3.5"

[dependencies.tree-sitter-go]
version = "0.23"

[dependencies.tree-sitter-hcl]
version = "1.1"

[dependencies.tree-sitter-java]
version = "0.23"

[dependencies.tree-sitter-javascript]
version = "0.23"

[dependencies.tree-sitter-json]
version = "0.24.8"

[dependencies.tree-sitter-kotlin-sg]
version = "0.4"

[dependencies.tree-sitter-ocaml]
version = "0.25.0"

[dependencies.tree-sitter-php]
version = "0.24"

[dependencies.tree-sitter-python]
version = "0.23"

[dependencies.tree-sitter-ruby]
version = "0.23"

[dependencies.tree-sitter-rust]
version = "0.24"

[dependencies.tree-sitter-scala]
version = "0.26.0"

[dependencies.tree-sitter-solidity]
version = "1.2"

[dependencies.tree-sitter-swift]
version = "0.7"

[dependencies.tree-sitter-typescript]
version = "0.23"

[dependencies.tree-sitter-yaml]
version = "0.7"

[dependencies.unicode-segmentation]
version = "1"

[dependencies.unicode-width]
version = "0.2"

[dependencies.uuid]
version = "1"
features = ["v5"]

[dependencies.wait-timeout]
version = "0.2.1"

[dependencies.walkdir]
version = "2"

[dev-dependencies]