Traditional security tools see network edges and application logs. Iris sits on the host itself. It watches process execution, file changes, network events and log patterns — and uses AI triage to decide what actually matters before escalating to Horus.
Iris is a single Rust binary. It runs four monitors in parallel threads and uses AI triage to decide what's worth sending to Horus.
One install script. Registers as a systemd service. 4MB binary, zero dependencies. Works on Ubuntu 20+, Debian 11+. Stops and restarts existing service on upgrade automatically.
Process monitor (spawns + exits). File watcher (critical config paths). Network events (connections + listens). Log scraper (journald + auditd patterns). Each runs in its own thread.
Batches of events scored by AI triage model. Only relevant events queued. Bounded queue prevents OOM. Backpressure and retry with exponential backoff. Events correlated in Horus pipeline.
monitors armed · proc / file / net / log
queue: 0 pending · server: reachable
→ [proc] python3 spawned by bash (pid 3821)
parent: /bin/bash · user: www-data · unusual
→ [file] /etc/cron.d/cleanup modified
writer: pid 3821 (python3) · 03:14:22 UTC
→ [net] outbound :4444 established
proc: python3 pid 3821 · dest: 185.220.101.x
→ AI triage: HIGH relevance · batch queued
→ shipped to Horus · incident created
Four monitors, AI triage, offline resilience and deep Horus integration.
4MB Rust binary. Zero dependencies. <0.5% CPU idle. Registers as systemd service on install. Bounded offline queue prevents OOM. Single install script.
Watches process spawns and exits. Captures parent-child relationships, user context, and binary path. Detects unusual spawners (web server → shell → python).
Watches critical config paths: /etc, /var/spool/cron, SSH keys, sudoers. Captures who wrote what and when. Detects unauthorized modifications.
Tracks outbound connections and new listeners. Ties connections back to the originating process. Detects unexpected C2 callbacks, port binds and lateral movement.
Tails journald and auditd logs. Pattern-matches against known attack signatures: sudo escalations, failed auth bursts, kernel module loads.
Batches of events scored by AI triage model. Only relevant events queued and shipped to Horus. Noise filtered at the source. Token-economic: cheap periodic triage, not per-event LLM calls.
If the Horus server is unreachable, events queue to local disk with a configurable maximum size. Retry with exponential backoff. Bounded queue prevents OOM even on disk-constrained hosts. No data loss. No duplicate delivery.
4MB binary. 40-second install. MIT licensed. See Iris running in the live demo.