Architecture¶
SATARK separates a domain-agnostic core from domain plugins.
Package layout¶
src/satark/
core/ # engine, events, models, pipelines, storage, cli, config
scoring/ # risk, confidence, prioritization, explainability
graph/ # entities, relationships, timeline, attack paths
rules/ # yara, sigma, regex, stix, custom
ai/ # optional assistants (never source of truth)
knowledge/ # mitre_attack, mitre_d3fend, capec, cve, cwe
plugins/
insider/
malware/
phishing/
web/
email/
cloud/
identity/
Core remains domain-agnostic¶
The core understands Events, Detections, ScoreBreakdowns, and Findings. It does not understand vendor schemas or domain heuristics. Plugins normalize raw data into events and own domain logic.
Pipeline¶
The AnalysisEngine registers plugins, stores events, and runs pipelines. Plugins never call each other.