Skip to main content

Module reverse_shell

Module reverse_shell 

Source
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§

ReverseShellServer

Constants§

MAX_LINE_LEN
Largest single line accepted from the operator, in bytes.