󰈔 ~ about README.md

whoami

Hari Nagarajan — Security Engineer, Marine veteran, and recovering physicist.

I lead threat analysis, incident response, and AI-driven response automation at Amazon Leo Physical & IP Security. Outside of work, I give LLMs offensive security tools without guardrails and see what happens.

work

  • Now — Amazon Leo Physical & IP Security. Protecting things in orbit so you don’t have to think about it.
  • Before — AWS Security SOC. Kept the data centers breathing.
  • Before that — Capital One Open Source Office.
  • Way before — US Marine Corps, CoStar, contract penetration testing.

elsewhere

projects

Two open-source projects worth pointing at — both Rust, both terminal-native.

󰏗 seval — offensive-security assistant in your terminal

what it is

The thesis is simple: a chat window is the wrong shape for security work. You want a real terminal — split panes, log scrollback, copy-paste, the whole thing — with an agent embedded in it as a co-pilot, not a wrapper around it.

seval gives the model real shell, fs and http tools and a session log it can write to. You point it at a scope, narrate the goal, and it works until it gets stuck or finishes. Bring your own LLM (OpenAI, Anthropic, local Ollama).

why this exists

Most “AI security tools” are wrappers around chat completions that can’t actually do anything. seval gives the model real access — a shell, a filesystem, HTTP — and lets it work the way a human operator would, just faster and without getting bored at 2am.

RustTUILLM agentAGPL-3.0offsec
$ brew install seval
# or, from source:
$ cargo install seval
$ seval --scope ./engagement.md
󰏗 eugene — autonomous offensive agent on a Pi

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.

RustKaliRaspberry PiSQLiteagenticoffsec
# 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
NORMAL
󰊢main
󰈔 ~/about/README.md
utf-8 · LF · markdown
Top
󰍒1:1