* chore: Exclude CLAUDE.md from Cargo.toml
* feat: add callgraph module and integrate into main analysis flow
* feat: enhance CLI with new severity filtering and analysis modes
* feat: update CHANGELOG with recent enhancements and fixes to severity filtering and output handling
* feat: implement state-model dataflow analysis for resource lifecycle and auth state
* feat: enhance diagnostic output formatting and add evidence structure
* feat: implement attack surface ranking for diagnostics with scoring and sorting
* feat: add comprehensive documentation for installation, usage, and rules reference
* feat: add multiple language support for command execution and evaluation endpoints
* feat: implement inline suppression for findings using `nyx:ignore` comments
* feat: add confidence levels to AST patterns and update output structure
* feat: implement low-noise prioritization system with category filtering, rollup grouping, and configurable budgets
* feat: bump version to 0.4.0 and update changelog with new features and improvements
* feat: add dead code allowances to various functions in mod.rs and real_world_tests.rs
* chore: Exclude CLAUDE.md from Cargo.toml
* feat: Add configurable analysis rules and CLI commands for custom sanitizers and terminators
* feat: Enhance resource management and analysis efficiency
- Implemented parallel summary merging in `scan_filesystem` using rayon for improved performance.
- Introduced `GlobalSummaries::merge()` for efficient merging of summaries.
- Optimized file reading and hashing to eliminate redundant I/O operations.
- Added `should_scan_with_hash()` and `upsert_file_with_hash()` methods to streamline file processing.
- Enhanced taint analysis with in-place mutations to reduce memory allocations.
- Updated resource acquisition patterns to exclude false positives for `freopen` and wrapper functions.
* feat: Implement severity downgrade for findings in non-production paths and add source kind inference
* feat: Update versioning information in SECURITY.md for new stable line
* feat: Update categories in Cargo.toml to include parser-implementations and text-processing
* feat: Update dependencies in Cargo.lock for improved compatibility and performance
* feat: Update dependencies in Cargo.lock and Cargo.toml for improved compatibility
* 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>
- Standardized spacing and indentation across multiple modules for improved readability.
- Reorganized `patterns` and `utils` imports for consistency.
- Updated `NyxError` and `NyxResult` related implementations to maintain consistent formatting.
- Enhanced readability in AST patterns for better clarity and maintainability.
- Replaced `Result` with `NyxResult` across the codebase for consistent error management.
- Enhanced `NyxError` with new variants and utility conversions for better flexibility.
- Added detailed `tracing::debug` logs in `file.rs` and `walk.rs` for improved traceability.
- Simplified conditionals and improved path handling in `file.rs`.
- Refined severity filtering logic in `scan.rs`.
- Introduced `NyxError` and `NyxResult` for unified error handling across modules.
- Refactored `scan.rs`, `index.rs`, and `walk.rs` with improved error management and consistent formatting.
- Replaced existing error handling in `database.rs` with `NyxResult`.
- Improved database maintenance by integrating `vacuum` and `clear` methods into workflows.
- Added `dashmap` for efficient parallel diagnostics result aggregation in `scan_with_index_parallel`.
- Enhanced readability and formatting of console outputs in multiple modules.
- Added `thiserror` dependency in `Cargo.toml` and `Cargo.lock` for enhanced error handling.
- Improved execution time tracking and output formatting in `main.rs`.
- Refactored console output in `scan.rs` for better readability with grouped warnings.
- Simplified error handling in `scan_filesystem`.
- Removed unused commented-out code in `walk.rs` for improved readability.
- Added more `tracing::debug` logs for clearer traceability during file scanning and rule processing.
- Improved condition handling and formatting consistency in `scan.rs`.
- Simplified error management and removed redundant comments in database-related functions.
- Implement `max_file_size_mb` to restrict files for scanning based on size.
- Refactor `high_only` handling to modify `min_severity` in `Config`.
- Update `ScannerConfig` to use `Option<u64>` for optional size limits.
- Remove redundant `high_only` parameter from `scan::handle` function.
- Improve batch processing in `walk` for efficient file scanning.
- Added `#[derive(Debug)]` to `Batcher` for easier debugging.
- Included `tracing::debug` logging for file scanning in `walk.rs`.
- Moved `Indexer` initialization in `scan.rs` to align with indexing logic.
- Improved traceability by logging file paths during scanning in `scan.rs`.
- Added `tracing-appender` and `log` dependencies to improve error logging.
- Enhanced `walk.rs` to add error handling with warning logs for ignore patterns.
- Expanded Rust and JavaScript patterns with additional security vulnerability checks.
- Simplified and updated pattern queries for improved accuracy and consistency.
- Removed unused print statement in `index.rs`.
- Introduce `index.rs` for file indexing using SQLite
- Expand configuration options in `config.rs`, including `excluded_files`
- Update dependencies in `Cargo.toml` to include SQLite, hashing, and regex libraries
- Introduced `walk.rs` as a parallel directory walker for search operations.
- Implemented basic index handling in `commands/index.rs`.
- Created `utils/config.rs` for configuration management with placeholders for future enhancements.