Guide · Agent skill
How to use the pwn-chain agent skill: install and trigger it
Updated · written with AI from the project's own documentation and checked against our catalogue data
The pwn-chain skill is a structured playbook that teaches an AI agent to go from a program with a known memory-corruption bug to a working exploit that gives shell access. This guide explains what the skill does, how to install it from the ZIP or the Claude apps, how to ask for it in plain language, and what safety limits to keep in mind. By the end you will know how to set it up and how to start a request it can act on.
Quick start
- 1Download and unzip the skill. Download the pwn-chain ZIP from this page. Unzip it into ~/.claude/skills/ for personal use, or into .claude/skills/ in your project.
- 2Or upload it in the Claude apps. In the Claude apps, open Settings, go to Capabilities, then Skills, and upload the skill.
- 3Install the core tools. Install pwntools, ROPgadget or Ropper, one_gadget and libc-database. Add qemu-system-x86_64 if you will work on kernel challenges.
- 4Describe your binary and bug. Tell the agent the binary, the vulnerability, the protections you know of, and whether you have the libc file and the remote host and port.
- 5Work through the local then remote stages. Let the agent get the exploit working locally first, then switch to the remote target and check stability over repeated runs.
What the pwn-chain skill makes the agent do
The skill covers the part of binary exploitation that comes after a bug has been found. You give the agent a binary, the vulnerability location and the target environment, and the skill guides it through checking protections, choosing an exploit strategy and writing a pwntools template.
It names three areas: stack overflows, heap exploitation and Linux kernel pwn. It also focuses on the gap between an exploit that works in a local CTF test and one that stays reliable against a remote target, such as libc version mismatches and remote buffering.
- Checks protections such as NX, canary, PIE, RELRO and FORTIFY with checksec
- Chooses a strategy such as ret2libc, one_gadget, heap tcache techniques or kernel ROP
- Finds libc gadgets and matches leaked addresses against libc-database
- Makes the exploit reliable against a remote target, not just a local run
Install the pwn-chain skill (ZIP or Claude apps)
Download the ZIP for pwn-chain from this page. For a personal install, unzip it into ~/.claude/skills/. For a single project, unzip it into the project's .claude/skills/ folder instead.
If you use the Claude apps, open Settings, go to Capabilities, then Skills, and upload the skill there.
- Personal install: unzip into ~/.claude/skills/
- Project install: unzip into .claude/skills/ inside your project
- Claude apps: Settings → Capabilities → Skills, then upload
Install the tools the skill depends on
The skill expects several tools. The core ones are pwntools, a gadget finder (ROPgadget or Ropper), one_gadget, libc-database, and a gdb enhancement such as GEF or pwndbg. Kernel challenges also need qemu. The apt packages binwalk, cpio and patchelf are optional and are used for unpacking initramfs images and switching libc versions.
The skill's own bootstrap step will try to install missing tools and will stop after two failed attempts on the same tool, then list manual install steps for you to confirm.
- pwntools, ROPgadget and Ropper are installed with pip
- one_gadget is installed as a Ruby gem and needs Ruby
- libc-database is cloned from git and then run with its get script
- GEF or pwndbg are gdb plugins
- qemu-system-x86_64 is needed for kernel challenges
- binwalk, cpio and patchelf are optional apt packages
pip install pwntools
pip install ropgadget
pip install ropper
gem install one_gadget
git clone https://github.com/niklasb/libc-database
apt install qemu-system-x86
apt install binwalk cpio
apt install patchelfHow to trigger the skill with natural requests
You do not need a special command. Describe the situation in plain language and mention the binary, the bug and the target. The skill's description lists trigger keywords such as pwn, stack overflow, ROP, ret2libc, one_gadget, tcache, kernel pwn, SMEP, KASLR, pwntools and GEF, so using these words helps the agent pick it up.
Be specific about what you already know. The skill assumes you have already found the bug, so say where it is and what is protected.
- Say what you have: the binary, the libc if you have one, and the remote host and port
- Say what fails: local works but remote crashes, or a specific protection blocks you
- Say what you want: a stable exploit, a strategy check, or help with the gadget search
Example requests that fit this skill
These are examples of requests the skill is built for. Each one gives the agent a binary or bug to work from and a clear goal.
Requests outside this scope, such as asking the agent to fuzz a binary to find a new bug, are not what the skill is for.
- I have a 64-bit ELF with NX, PIE and a canary, a read that overflows a 0x40-byte buffer, and a libc file. Plan the leak and the ROP chain.
- My ret2libc exploit works locally but crashes on the remote server. Check the libc version and stack alignment.
- This kernel driver has an ioctl out-of-bounds write and the qemu run uses SMEP and SMAP. Help me plan a kernel ROP chain.
- Explain the heap exploit options for this binary, given its glibc version, and write a pwntools template for the first one.
What the workflow looks like step by step
The skill follows a fixed sequence: confirm the bug class and protections, choose a strategy, prepare libc and gadgets, write a local pwntools template, get it working locally, then stabilise it for remote use. Reference files cover stack, heap and kernel techniques.
For remote stability the skill recommends anchoring reads on exact strings instead of fixed sleeps, using sendlineafter rather than sendline, and testing in remote mode repeatedly. It sets a target of at least 95 percent success over a loop of runs.
- Use checksec and file to identify protections and the bug class
- Use a leak and libc-database to identify the libc version rather than guessing
- Watch for stack alignment problems on 64-bit targets
- Run the remote version at least 20 times before calling it done
Scope, safety and what the skill runs
The skill is for CTF play, authorised security research and red-team work where you have permission to test the target. Its own text frames use as CTF or authorised SRC or red-team work. Do not point these techniques at systems you are not authorised to test.
The skill runs scripts and uses the network, because it compiles and runs exploits and connects to remote targets. Review what the agent proposes before it runs. The skill's text also tells the agent to read files outside the package, such as a field journal and a tool index, and to continue without waiting for confirmation. If those files are not present, the agent should not invent their contents, and you should check each command before it runs.
- Use only on targets you have permission to test
- Review commands and scripts before the agent runs them
- Expect network access to the target you name
- If the agent refers to files missing from the ZIP, verify them yourself
What people use it for
- Turning a stack overflow found in a CTF challenge into a working ret2libc or one_gadget exploit
- Fixing a CTF exploit that works in a local run but fails against the remote server
- Planning a kernel ROP chain for an ioctl bug in an authorised lab setup with qemu
- Structuring a heap exploit for a known glibc version as a study exercise
Frequently asked questions
How do I install the pwn-chain skill?
Download the ZIP from this page and unzip it into ~/.claude/skills/ for a personal install or into a project's .claude/skills/ folder. In the Claude apps you can instead upload it under Settings, Capabilities, Skills.
Is the pwn-chain skill free to use?
The listing states the licence is MIT. Check the licence file in the source repository before you redistribute it.
What do I need installed to use pwn-chain?
The skill expects pwntools, ROPgadget or Ropper, one_gadget, libc-database and a gdb plugin such as GEF or pwndbg. qemu-system-x86_64 is needed for kernel challenges, and binwalk, cpio and patchelf are optional.
Can pwn-chain find vulnerabilities for me?
No. The skill assumes you already know where the bug is. Fuzzing and auditing to discover bugs are outside its scope.
Why does my exploit work locally but fail on the remote server?
The skill points to common causes: a different libc version on the remote side, stack alignment problems on 64-bit targets, and unreliable timing in network reads. It recommends identifying the libc with a leak and libc-database and running the remote version many times.
How is this different from asking an agent to write an exploit?
The skill gives the agent a fixed workflow with protection checks, strategy choice, a local-then-remote stage and reference notes for stack, heap and kernel techniques. Without it, the agent has no set process to follow.
New agent skills, repos and AI tools — every week
The best new skills and open-source projects, the fastest-growing repos, and one free prompt. Five minutes to read. Unsubscribe anytime.
Our verdict
Use pwn-chain if you already have a memory-corruption bug and need a structured path to a reliable exploit for a CTF challenge or an authorised target, or if you are learning binary exploitation. Pick something else if you need to discover vulnerabilities from scratch, or if you cannot test the target legally.
Download the skill