1.5 KiB
1.5 KiB
Enodia Sentinel Go Agent (Phase 1 Prototype)
This directory is the parallel Go implementation described in
docs/SURICATA_ASSIMILATION.md. Python remains the production agent and the
behavioral oracle until every subsystem reaches fixture and red-team parity.
Current scope:
- standard-library-only flat TOML loading for the settings used so far;
- an injectable
/procprocess/file-descriptor/memory-map snapshot plus fail-opensssocket collection; - a cancellable sweep loop that emits JSONL
enodia.event.v1records; - exact
enodia.alert.v1parity forld_preload(SID100011),deleted_exe(100012),input_snooper(100032), andcredential_access(100033), plusreverse_shell(100010),egress(100016),stealth_network(100036), and the/proc/<pid>/mapsmemory_obfuscationcohort (100039,100048,100049); enodia.status.v1heartbeat records with no persistence or retained-alert claims;- a shared fixture checked against the Python detector by
scripts/check-go-parity.py.
It does not install a service, write Python state, capture eBPF events, retain
snapshots, or replace enodia-sentinel. Run a single terminal-visible sweep:
cd go-agent
GOCACHE=/tmp/enodia-go-cache go run ./cmd/enodia-sentinel-go --once
Development verification from the repository root:
make test-go
make parity-go
--fixture, --host, --timestamp, and --proc-root exist for deterministic
parity/testing. Production work should continue to use the default live
/proc, hostname, and local timestamp.