provisioning-platform/prov-ecosystem/crates/audit/Cargo.toml

105 lines
3 KiB
TOML
Raw Normal View History

[package]
name = "audit"
version = "0.1.0"
edition = "2021"
rust-version = "1.75"
authors = ["Provctl Contributors"]
license = "MIT"
repository = "https://github.com/provctl"
description = "Automated security audit framework with SBOM, CVE scanning, and policy enforcement"
documentation = "https://docs.rs/audit"
keywords = ["audit", "security", "sbom", "vulnerability", "policy"]
categories = ["development-tools::debugging", "security"]
[dependencies]
# Core
serde = { version = "1", features = ["derive"] }
serde_json = "1.0"
serde_yaml = "0.9"
toml = "0.9"
thiserror = "2"
anyhow = "1"
tracing = "0.1"
tokio = { version = "1", features = ["sync"] }
# Time and ID
chrono = { version = "0.4", features = ["serde"] }
uuid = { version = "1", features = ["v4", "serde"] }
# SBOM formats (optional)
cyclonedx-bom = { version = "0.7", optional = true }
spdx-rs = { version = "0.5", optional = true }
# Policy engine (optional)
regorus = { version = "0.2", optional = true }
# HTTP for scanner APIs
reqwest = { version = "0.11", features = ["json"], optional = true }
# Async utilities
async-trait = "0.1"
# Process execution
which = "5.0"
# Crate integrations (optional)
#syntaxis-integration = { path = "../syntaxis-integration" }
valida = { path = "../valida", optional = true }
observability = { path = "../observability", optional = true }
gitops = { path = "../gitops", optional = true }
runtime = { path = "../runtime", optional = true }
encrypt = { path = "../encrypt", optional = true }
# Benchmarking
criterion = { version = "0.5", optional = true }
[dev-dependencies]
tokio = { version = "1", features = ["full"] }
tempfile = "3"
[features]
default = ["sbom-cyclonedx", "scanner-trivy", "valida-integration"]
# SBOM formats
sbom-cyclonedx = ["dep:cyclonedx-bom"]
sbom-spdx = ["dep:spdx-rs"]
sbom = ["sbom-cyclonedx", "sbom-spdx"]
# Vulnerability scanners
scanner-cargo-audit = []
scanner-trivy = ["dep:reqwest"]
scanner-grype = ["dep:reqwest"]
scanner-osv = ["dep:reqwest"]
scanner-full = ["scanner-cargo-audit", "scanner-trivy", "scanner-grype", "scanner-osv"]
# Policy engines
policy-opa = ["dep:regorus"]
policy-kyverno = []
policy = ["policy-opa"]
# Chaos engineering
chaos = []
chaos-mesh = ["chaos"]
chaos-litmus = ["chaos"]
# Benchmark
benchmark = ["dep:criterion"]
# Knowledge base
knowledge-docs = []
knowledge-rag = ["dep:reqwest"]
# Crate integrations
syntaxis-integration = []
valida-integration = ["dep:valida"]
observability-integration = ["dep:observability"]
gitops-integration = ["dep:gitops"]
runtime-integration = ["dep:runtime"]
encrypt-integration = ["dep:encrypt"]
#full-integration = ["syntaxis-integration", "valida-integration", "observability-integration", "gitops-integration", "runtime-integration", "encrypt-integration"]
full-integration = ["valida-integration", "observability-integration", "gitops-integration", "runtime-integration", "encrypt-integration"]
# All features
full = ["sbom", "scanner-full", "policy", "chaos", "benchmark", "knowledge-docs", "full-integration"]