1pub mod adapters;
60pub mod analyzer;
61pub mod artifact_graph;
62mod artifact_taint;
63pub mod benchmark;
64mod deceptive_docs;
65mod detectors;
66pub mod findings;
67mod inline_suppressions;
68pub mod ioc_extraction;
69pub mod nova;
70pub(crate) mod path_safety;
71pub(crate) mod patterns;
72pub mod policy;
73pub mod ports;
74pub mod rules;
75pub mod scanner;
76mod scanner_execution;
77mod scanner_graph;
78mod scanner_support;
79pub(crate) mod scanner_types;
80pub mod services;
81mod verdict;
82mod verdict_calibration;
83
84#[cfg(feature = "yara")]
85pub mod yara_engine;
86
87pub use analyzer::{
89 AgentExtensionKind, ArtifactAssessment, ArtifactClassification, ArtifactIdentitySource,
90 CodeBlock, Section, SkillDocument, StructuralSignals, StructuralValidity,
91};
92pub use benchmark::{
93 evaluate_gold_corpus, AttackFamilyMetrics, BenchmarkError, BenchmarkHistory,
94 BenchmarkHistoryEntry, CalibrationBucket, CalibrationSummary, CorpusCoverage, CorpusEvaluation,
95 CorpusManifest, CoverageBucket, DeduplicationMetrics, GoldCorpusManifest, GoldSample,
96 LabeledSample, RegressionMetrics, SampleEvaluation, SampleLabel, ThresholdRecommendation,
97};
98pub use findings::{
99 artifact_scope_for_kind, signal_class_for, ActionTrigger, ArtifactKind, ArtifactScope,
100 BlastRadiusLevel, BlastRadiusSummary, ConsensusClass, ConsensusDiscrepancy, DeclaredPermission,
101 DeduplicationSummary, EvidenceKind, Finding, FindingSummary, HygieneSummary, MatchTarget,
102 OperationalContext, PackageHealth, PackageVerdictReport, ProviderVote, RecommendedAction,
103 RiskFactor, RootCauseGroup, Severity, SeverityCounts, SignalClass, ThreatCategory, Verdict,
104 VerdictReason, RISK_THRESHOLD_BLOCK,
105};
106pub use ioc_extraction::{ExtractedIocs, FileHash};
107pub use path_safety::path_stays_within_base;
108pub use policy::{
109 adjust_confidence, apply_baseline, apply_policy_overrides, apply_policy_overrides_with_audit,
110 apply_waivers, baseline_from_reports, count_baseline_matches, diff_reports,
111 diff_reports_with_policy_state, empty_sarif_report, finding_fingerprint, learned_allowlist,
112 learned_confidence_adjustments, load_baseline, load_disposition_overlay, load_policy,
113 load_waivers, validate_policy, validate_waivers, AppliedPolicyOverride, BaselineEntry,
114 BaselineFile, ConfiguredProfile, ContextActionOverride, ContextPolicy, DiffEntry, DiffReport,
115 Disposition, DispositionOverlay, DispositionRecord, JsonReport, PolicyAudit, PolicyFile,
116 PolicyGenerator, PolicyOverride, PolicyProfile, PolicyProfiles, ShieldPolicy,
117 SuppressionSummary, WaiverEntry, WaiverFile, POLICY_AUDIT_PRECEDENCE, POLICY_SCHEMA_VERSION,
118};
119pub use rules::{
120 default_external_rule_dirs, is_supported_rule_pack_schema, parse_rules_file, IocFeedFile, Rule,
121 RuleCondition, RuleEngine, RulePackFile, RulePackKind, RulePackMetadata,
122 RULE_PACK_SCHEMA_VERSION,
123};
124pub use scanner::{
125 ArtifactMetadata, DefaultScanner, PackageScanResult, ScanError, ScanErrorEntry, ScanOptions,
126 ScanResult, ScanTargetMode, Scanner,
127};
128pub use scanner_graph::{artifact_kind_for_path, derive_package_id};
129pub use verdict::is_conclusive_single_rule_id;
130
131pub use ports::{
133 DecodedText, FileContent, FileMeta, FileSystemProvider, MarkdownParser, PatternMatcher,
134};
135
136pub use adapters::{PulldownMarkdownParser, RegexPatternMatcher, StdFileSystemProvider};
138pub use artifact_graph::{
139 ArtifactCapability, ArtifactCapabilityFact, ArtifactCapabilitySource, ArtifactEdge,
140 ArtifactGraph, ArtifactNode, ArtifactRelation, EndpointKind,
141};