󰈔 ~ projects eugene.md
e
eugene v0.2.0-rc

— 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.

RustKaliRaspberry PiSQLiteagenticoffsec
94 stars on codeberg v0.2.0-rc release private beta channel

what it is

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.

architecture

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.

control

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.

## install
# clone, then deploy to a reachable Pi:
$ git clone codeberg.org/haaari/eugene
$ cd eugene && just deploy pi.local
# the Pi will print its onion address on first boot
## architecture
mermaid · eugene.arch.mmd
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
## demo
ssh · eugene@kali-pi · over wireguard run 0019 · 8 turns
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'.
## links
## raw config
toml · ~/projects/eugene.toml
# ~/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"
NORMAL
󰊢main
󰈔 ~/projects/eugene.md
utf-8 · LF · markdown
Top
󰍒1:1