— autonomous offensive agent on a Pi
A red-team teammate that lives on a Raspberry Pi running Kali. Powered by rig-core, it drives the offensive tools already on the box and reports back over wireguard. Drop it on a network. Let it work.
eugene treats a Pi like a tiny operator you can leave behind. Boot it, hand it a scope, and it cycles through host-discovery, service fingerprinting, low-hanging credentials, persisting everything to a local SQLite so you can resume after a reboot or replay the run.
The agent loop is rig-core; the tools are whatever Kali already ships. The interesting bit is the human-in-the-loop primitive — eugene pauses at every meaningful finding and waits for a one-word ack before continuing. So it’s autonomous, but never quietly autonomous.
Eugene uses a planner/executor split. The orchestrator breaks work into parallel tasks, and specialist executor agents run each one independently via tokio + semaphore-bounded concurrency. Everything is tracked in SQLite with FTS5 full-text search.
You can control eugene from Telegram, the CLI, or let it run on a cron schedule. Every run, task, and finding is persisted locally. The TUI dashboard gives you a full-screen ratatui view with progress gauge, findings table, and activity log.
flowchart TB
subgraph PI["Raspberry Pi 4 · Kali ARM64"]
direction TB
EUG["eugene<br/>(rust binary)"]
RIG["rig-core<br/>agent runtime"]
DB[("SQLite<br/>session + memory")]
TOOLS["nmap · hydra · ffuf<br/>responder · impacket"]
EUG <--> RIG
RIG --> TOOLS
EUG --> DB
end
OP(["operator<br/>(over wireguard)"]) -->|ssh / web ui| EUG
RIG -. tool calls .-> LLM[("LLM<br/>remote or local")]
TOOLS -->|results| EUG
EUG -->|reports| OP
eugene@kali-pi:~$ eugene run --target 192.168.13.0/24 --depth fast
[boot] kali-arm64 · rig-core 0.7 · sqlite v3.46
[plan] 1. host discovery 2. service fingerprint 3. low-hanging creds
[01:14] nmap -sn 192.168.13.0/24
└─ 11 hosts alive
[01:21] nmap -sV -p- --top-ports=200 192.168.13.{14,22,57}
└─ smb on .14 · http on .22 · ssh on .57
[01:43] hydra -L users.lst -P rockyou-1k.lst ssh://192.168.13.57
[01:47] ! credential found jdoe : Summer2024!
[01:47] writing finding to ./loot/192.168.13.57.md
[01:48] pausing for review — say 'continue' or 'stop'.
# ~/projects/eugene.toml # autonomous offsec agent · runs on a raspberry pi [project] name = "eugene" version = "0.2.0-rc" license = "AGPL-3.0" authors = ["hari <hari@hari.gg>"] edition = "2021" status = "private-beta" [about] tagline = "autonomous offensive agent on a Pi" description = """ A drop-in red-team teammate that lives on a Raspberry Pi running Kali. Drives the tools already on the box — nmap, hydra, ffuf, responder — through an agentic loop backed by rig-core. Reports back over wireguard. """ [hardware] device = "Raspberry Pi 4 · 8GB" os = "Kali Linux ARM64" storage = "256GB NVMe (USB3)" network = "wireguard mesh" [runtime] agent = "rig-core" storage = "sqlite" tools = ["nmap", "hydra", "ffuf", "responder", "impacket", "smbclient"] modes = ["fast", "thorough", "stealth"] review = "human-in-the-loop" [install] git = "git clone codeberg.org/haaari/eugene" deploy = "just deploy pi.local" [links] repo = "codeberg.org/haaari/eugene" notes = "hari.gg/blog/eugene-pi-melt"