Expand description
Reverse-shell listener server.
A raw-TCP listener that emulates the operator side of a reverse shell for authorized
security testing, CTF and lab use. An operator connects back to this listener with a plain
TCP client (nc, socat, ncat), and the LLM role-plays the shell on the far end: it
decides the banner, each command’s output and the prompt.
Safety: NetGet does not execute the operator’s commands on this host. Every byte the
operator sees is fictional output supplied by the model — the same premise as every other
NetGet protocol (impersonating a service without being one). Real command execution is only
reachable through the separate, opt-in, unsandboxed scripting layer documented in the
top-level CLAUDE.md; this protocol never touches it. See src/server/reverse_shell/CLAUDE.md.
Wire model: there is no framing. The listener reads raw bytes, buffers them into
newline-terminated lines, and raises one reverse_shell_command event per line. One
connection is handled strictly sequentially — the model call for one line finishes before the
next line is read — so there is never a concurrent LLM call on a single connection, and input
that arrives mid-call sits in the socket buffer until the call returns.
Modules§
- actions
- Reverse-shell listener actions.
Structs§
Constants§
- MAX_
LINE_ LEN - Largest single line accepted from the operator, in bytes.