mirror of
https://github.com/elicpeter/nyx.git
synced 2026-06-06 19:35:13 +02:00
* feat: Enhance control flow analysis with function summaries and taint analysis * feat: Update taint analysis to utilize function summaries for enhanced tracking * Refactor `walk.rs` batch processing and override handling: - Renamed `Batcher` to `BatchSender` for clarity. - Added `BatchSender::new` constructor for cleaner initialization. - Simplified batch size management in `BatchSender`. - Extracted `build_overrides` function for reusable override construction. - Improved error handling and validation in override building. - Enhanced performance with directory and file type filtering in `walk`. * Improve logging and streamline directory walk process: - Added detailed `tracing` logs for debugging batch flushes, override construction, and walk initialization/completion. - Optimized and simplified `filter_entry` logic for directory and file type filters. - Improved metadata checks and max file size enforcement during the scan. * Refactor and optimize taint tracking, label rules, and directory walk process: - Replaced `DefaultHasher` with `blake3::Hasher` for improved taint hashing. - Enhanced sorting and hashing logic in `taint.rs` for consistency and efficiency. - Removed unused `set_hash` function and redundant imports across files. - Improved batch sender logic in `walk.rs`, renaming key components for clarity. - Unified `spawn_senders` and `spawn_file_walker` with thread handling and channel tuple return. - Expanded label rules with additional matchers for sources, sanitizers, and sinks. - Deprecated `dump_cfg` and specific logging utilities in `cfg.rs` for code cleanup. * fix: fixed let chains error in walk.rs * fix: updated dependencies * fix: updated dependencies * chore: Remove standard error in scan.rs * feat: Introduce function summaries for enhanced taint and control flow analysis * feat: Enhance taint analysis with interop support and function summaries * feat: Add configuration analysis module and enhance matcher rules * feat: Add arity column to function_summaries and handle schema migration * fix: fixed clippy &PathBuf warnings * chore: Update dependencies and versioning in Cargo files * docs: Update README to enhance clarity and detail on features and analysis modes * chore: Update CHANGELOG for version 0.2.0 with new features, changes, and fixes * docs: Update SECURITY.md to clarify version support status --------- Co-authored-by: elipeter <eli.peter@es.fcm.travel>
81 lines
2.1 KiB
TOML
81 lines
2.1 KiB
TOML
[package]
|
|
name = "nyx-scanner"
|
|
version = "0.2.0"
|
|
edition = "2024"
|
|
description = "A CLI security scanner for automating vulnerability checks"
|
|
license = "GPL-3.0"
|
|
authors = ["Eli Peter <elicpeter@exmaple.com>"]
|
|
homepage = "https://github.com/ecpeter23/nyx"
|
|
repository = "https://github.com/ecpeter23/nyx"
|
|
documentation = "https://github.com/ecpeter23/nyx#readme"
|
|
keywords = ["security", "vulnerability", "scanner", "static-analysis", "cli"]
|
|
categories = ["command-line-utilities", "development-tools", "security"]
|
|
readme = "README.md"
|
|
default-run = "nyx"
|
|
exclude = [
|
|
"assets/",
|
|
".github/",
|
|
".claude/",
|
|
".idea/",
|
|
"tests/",
|
|
"benches/",
|
|
"examples/",
|
|
]
|
|
|
|
autoexamples = false
|
|
|
|
[lib]
|
|
name = "nyx_scanner"
|
|
path = "src/lib.rs"
|
|
|
|
[[bin]]
|
|
name = "nyx"
|
|
path = "src/main.rs"
|
|
|
|
[[bench]]
|
|
name = "scan_bench"
|
|
harness = false
|
|
|
|
[dev-dependencies]
|
|
tempfile = "3.26.0"
|
|
criterion = { version = "0.8", features = ["html_reports"] }
|
|
assert_cmd = "2"
|
|
predicates = "3"
|
|
glob = "0.3"
|
|
|
|
[dependencies]
|
|
directories = "6.0.0"
|
|
clap = { version = "4.5.60", features = ["derive"] }
|
|
serde = { version = "1.0.228", features = ["derive"] }
|
|
serde_json = "1.0"
|
|
toml = "1.0.3"
|
|
tracing-subscriber = { version = "0.3.22", features = ["env-filter", "json", "ansi","time"] }
|
|
tracing = "0.1.44"
|
|
num_cpus = "1.17.0"
|
|
rusqlite = { version = "0.38.0", features = ["bundled"] }
|
|
r2d2_sqlite = { version = "0.32.0", features = ["bundled"] }
|
|
ignore = "0.4.25"
|
|
tree-sitter = "0.26.5"
|
|
tree-sitter-rust = "0.24.0"
|
|
tree-sitter-c = "0.24.1"
|
|
tree-sitter-cpp = "0.23.4"
|
|
tree-sitter-java = "0.23.5"
|
|
tree-sitter-typescript = "0.23.2"
|
|
tree-sitter-javascript = "0.25.0"
|
|
tree-sitter-go = "0.25.0"
|
|
tree-sitter-php = "0.24.2"
|
|
tree-sitter-python = "0.25.0"
|
|
tree-sitter-ruby = "0.23.1"
|
|
crossbeam-channel = "0.5.15"
|
|
blake3 = "1.8.3"
|
|
once_cell = "1.21.3"
|
|
console = "0.16.2"
|
|
rayon = "1.11.0"
|
|
r2d2 = "0.8.10"
|
|
bytesize = "2.3.1"
|
|
chrono = { version = "0.4.44", default-features = false, features = ["std", "clock"] }
|
|
thiserror = "2.0.18"
|
|
dashmap = "7.0.0-rc2"
|
|
petgraph = "0.8.3"
|
|
bitflags = "2.11.0"
|
|
phf = { version = "0.13.1", features = ["macros"] }
|