Use the pwncli family when you want an interactive exploit driver that stays attached to a specific debug session.
pwncli
pwncli writes the provided script into the session runtime directory, launches it with uv run, and exposes both startup output and any parsed attach result marker.
Important returned fields
runtime_dir: session-specific directory used for the inline script
io.current_output: output collected for this call
attachment.result: parsed attach result marker when present
startup.ready: whether the driver reached a ready state
startup.reason: why the wait finished
startup.alive: whether the driver is still alive
startup.pid: driver process id
startup.replaced: whether an older driver was replaced for this session
sendinput writes raw bytes to stdin
checkoutput returns buffered output and clears it
checkevents returns structured events plus alive, exit_code, and driver_pid
sendinput does not append a newline automatically.
pwncli_stop kills the driver bound to a session
list_pwncli_sessions lists all active drivers
Behavior notes
- one
pwncli driver per debug session
- launching a new driver for the same session replaces the old one
close_debug_session also stops the session’s active driver