1pub mod baseline;
2pub mod cli;
3pub mod config;
4pub mod deobfuscation;
5pub mod error;
6pub mod fix;
7pub mod handlers;
8pub mod hooks;
9pub mod ignore;
10pub mod malware_db;
11pub mod mcp_server;
12pub mod profile;
13pub mod reporter;
14pub mod rules;
15pub mod run;
16pub mod scanner;
17pub mod scoring;
18pub mod suppression;
19pub mod watch;
20
21#[cfg(test)]
22pub mod test_utils;
23
24pub use baseline::{Baseline, DriftEntry, DriftReport};
25pub use cli::{Cli, OutputFormat, ScanType};
26pub use config::{Config, ConfigError, TextFilesConfig, WatchConfig};
27pub use deobfuscation::{DecodedContent, Deobfuscator};
28pub use error::{AuditError, Result};
29pub use fix::{AutoFixer, Fix, FixResult};
30pub use hooks::{HookError, HookInstaller};
31pub use ignore::IgnoreFilter;
32pub use malware_db::{MalwareDatabase, MalwareDbError};
33pub use mcp_server::McpServer;
34pub use profile::{Profile, profile_from_cli};
35pub use reporter::{
36 Reporter, html::HtmlReporter, json::JsonReporter, sarif::SarifReporter,
37 terminal::TerminalReporter,
38};
39pub use rules::{
40 Confidence, CustomRuleError, CustomRuleLoader, DynamicRule, Finding, RuleEngine, RuleSeverity,
41 ScanResult, Severity, Summary,
42};
43pub use run::{
44 WatchModeResult, format_result, is_text_file, is_text_file_with_config, run_scan,
45 scan_path_with_malware_db, setup_watch_mode, watch_iteration,
46};
47pub use scanner::{
48 CommandScanner, DependencyScanner, DockerScanner, HookScanner, McpScanner, PluginScanner,
49 RulesDirScanner, Scanner, SkillScanner, SubagentScanner,
50};
51pub use scoring::{CategoryScore, RiskLevel, RiskScore, SeverityBreakdown};
52pub use watch::FileWatcher;