OpenCROW Pwn Toolbox
Prefer the opencrow-pwn-mcp server for typed ELF triage, cyclic work, patching, and one-gadget search. Fall back to the direct scripts only when you need to debug the underlying ctf-environment execution path.
MCP First
- Use
toolbox_info, toolbox_verify, and toolbox_capabilities first.
- Use the typed pwn operations:
pwn_python
pwn_checksec
pwn_cyclic
pwn_patch_binary
pwn_one_gadget
- Treat the existing helper scripts as the implementation fallback, not the primary interface.
Use this skill for exploit development, ELF triage, debugger-heavy workflows, loader/libc patching, one-gadget hunting, and architecture-emulated pwn work in the ctf environment.
Quick Start
Run inline Python in ctf:
python ~/.codex/skills/opencrow-pwn-toolbox/scripts/run_pwn_python.py --code 'from pwn import *; print(cyclic(32))'
Run an exploit or helper script:
python ~/.codex/skills/opencrow-pwn-toolbox/scripts/run_pwn_python.py --file /absolute/path/to/exploit.py
Verify the mapped stack:
python ~/.codex/skills/opencrow-pwn-toolbox/scripts/verify_toolkit.py
Workflow
- Start here when the task is "get code execution" rather than "understand the binary."
- Triage the target with
checksec, file, and libc/loader metadata.
- Use
pwntools for scripting, local process control, remote sockets, packing, cyclic patterns, and ROP helpers.
- Move into
gdb or pwndbg once the exploit depends on runtime state.
- Read references/tooling.md when choosing between the debugger, patching, or emulation tools.
Tool Selection
- Use
pwntools for exploit scripts, process or remote I/O, ELF inspection, cyclic patterns, and ROP chain construction.
- Use
checksec, patchelf, and pwninit early to understand or normalize the challenge runtime.
- Use
gdb and pwndbg for breakpoints, heap inspection, and exploit debugging.
- Use
seccomp-tools when syscall filtering or sandboxing matters.
- Use
one_gadget when the libc version is known and you want fast candidate constraints for shell-spawning gadgets.
- Use
qemu-user and qemu-user-static when the shipped challenge binary is not native to the host architecture.
- Use
gcc and nasm for shellcode stubs, helper binaries, or local harnesses.
Resources
scripts/run_pwn_python.py: execute inline code or a .py file inside the ctf environment.
scripts/verify_toolkit.py: confirm that the mapped Python and native pwn tools are installed.
references/tooling.md: quick selection notes for exploit workflows.
1---2name: opencrow-pwn-toolbox3description: Use the Anaconda `ctf` environment and installed exploit tooling for binary exploitation and runtime-debugging tasks. Use when Codex needs `pwntools`, `pwndbg`, `gdb`, `checksec`, `patchelf`, `qemu-user`, `pwninit`, or other pwn-focused helpers.4---5
6# OpenCROW Pwn Toolbox
7
8Prefer the `opencrow-pwn-mcp` server for typed ELF triage, cyclic work, patching, and one-gadget search. Fall back to the direct scripts only when you need to debug the underlying `ctf`-environment execution path.
9
10## MCP First
11
12- Use `toolbox_info`, `toolbox_verify`, and `toolbox_capabilities` first.
13- Use the typed pwn operations:
14 - `pwn_python`
15 - `pwn_checksec`
16 - `pwn_cyclic`
17 - `pwn_patch_binary`
18 - `pwn_one_gadget`
19- Treat the existing helper scripts as the implementation fallback, not the primary interface.
20
21Use this skill for exploit development, ELF triage, debugger-heavy workflows, loader/libc patching, one-gadget hunting, and architecture-emulated pwn work in the `ctf` environment.
22
23## Quick Start
24
25Run inline Python in `ctf`:
26
27```bash
28python ~/.codex/skills/opencrow-pwn-toolbox/scripts/run_pwn_python.py --code 'from pwn import *; print(cyclic(32))'
29```
30
31Run an exploit or helper script:
32
33```bash
34python ~/.codex/skills/opencrow-pwn-toolbox/scripts/run_pwn_python.py --file /absolute/path/to/exploit.py
35```
36
37Verify the mapped stack:
38
39```bash
40python ~/.codex/skills/opencrow-pwn-toolbox/scripts/verify_toolkit.py
41```
42
43## Workflow
44
451. Start here when the task is "get code execution" rather than "understand the binary."
462. Triage the target with `checksec`, `file`, and libc/loader metadata.
473. Use `pwntools` for scripting, local process control, remote sockets, packing, cyclic patterns, and ROP helpers.
484. Move into `gdb` or `pwndbg` once the exploit depends on runtime state.
495. Read [references/tooling.md](references/tooling.md) when choosing between the debugger, patching, or emulation tools.
50
51## Tool Selection
52
53- Use `pwntools` for exploit scripts, process or remote I/O, ELF inspection, cyclic patterns, and ROP chain construction.
54- Use `checksec`, `patchelf`, and `pwninit` early to understand or normalize the challenge runtime.
55- Use `gdb` and `pwndbg` for breakpoints, heap inspection, and exploit debugging.
56- Use `seccomp-tools` when syscall filtering or sandboxing matters.
57- Use `one_gadget` when the libc version is known and you want fast candidate constraints for shell-spawning gadgets.
58- Use `qemu-user` and `qemu-user-static` when the shipped challenge binary is not native to the host architecture.
59- Use `gcc` and `nasm` for shellcode stubs, helper binaries, or local harnesses.
60
61## Resources
62
63- `scripts/run_pwn_python.py`: execute inline code or a `.py` file inside the `ctf` environment.
64- `scripts/verify_toolkit.py`: confirm that the mapped Python and native pwn tools are installed.
65- `references/tooling.md`: quick selection notes for exploit workflows.