agentsclimarketplace

Ctf pwn

Skill MateoBogo/CLEAVE/skills/ctf-pwn

CLEAVE: skills-based CTF agents for mechanics-first challenge triage and exploit orchestration.

Install
npx -y skills add MateoBogo/CLEAVE --skill ctf-pwn

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

2 things to look at

  • no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
  • 4 stars4 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

Binary exploitation (pwn): stack/heap/format-string/ROP, glibc heap (House-of-*, leakless, FSOP/FSOPAgain), seccomp bypass, sandbox escape, Linux & Windows kernel exploitation (KASLR/SMEP/SMAP, token steal, cred swap, PreviousMode), BROP. Dispatch on binary/checksec signals.

The file declares its own license as MIT. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.

SKILL.md

7.8 KB, as published. Nobody here has run it

CTF Binary Exploitation (Pwn)

Quick reference for binary exploitation (pwn) CTF challenges. Each technique has a one-liner here; see supporting files for full details.

Additional Resources


Pattern Recognition Index

Map observable signals (not challenge names) to the right technique. Scan this first when you're handed a binary and a remote.

Signal observed in binary / sourceTechnique → file
checksec: NX but no canary, stack buffer + read/getsPlain stack overflow → overflow-basics.md
Canary + forking server (pre-fork accept loop)Byte-by-byte canary brute-force → overflow-basics.md
int/ssize_t length → read(fd, buf, len) with only len > MAX checkSigned→size_t confusion → advanced-exploits-2.md
printf(user_ptr) with no format stringFormat-string leak + GOT overwrite → format-string.md
glibc 2.32+ tcache with Safe-Linking; no leaks possibleHouse of Rust / Water → heap-leakless.md
glibc 2.39+, no free() primitive exposedHouse of Tangerine (malloc-only AAW) → heap-leakless.md
mmap(MAP_FIXED) exposed with controllable addr, protMOP — libc code-page zeroing → advanced-exploits-3.md
Fork/clone + tiny shared-mem handshake validating input char-by-charstrace byte-count side-channel → advanced-exploits-2.md
Kernel chall, unpriv userns, splice()/vmsplice() + large kmalloc freePipe-backed folio_put page-UAF → advanced-exploits-3.md
Container with custom bind-mounts on /dev, /proc under runc ≤ 1.1.xrunc 2025 symlink-race escape → advanced-exploits-3.md
Unicorn/QEMU sandbox with host-side helper readsHost/guest hook divergence → advanced-exploits-3.md
Kernel io_uring SQE reachable via UAF / type confusionio_uring worker abuse → kernel-advanced.md, advanced-exploits-2.md
KASLR + Linux ≥ 5.8 + prefetch availableEntryBleed → kernel-advanced.md
Windows driver IOCTL + NT kernelPreviousMode / token stealing → kernel-advanced.md, advanced-exploits-2.md
No binary given, remote only, forking server with long timeoutBlind ROP (BROP) → brop.md
seccomp filter blocking execve, open/read/write allowedORW ROP → rop-and-shellcode.md, rop-advanced.md
MIPS ELF + overflow reachable + $gp loadable from writable region$gp-pivot fake-GOT → advanced-exploits-3.md
Custom FS with (mip,x,y)-style path tuples + SHA256 hashingCoord-indexed FS overflow → advanced-exploits-3.md
Format-string read + later FILE* UAF in same binaryFILE UAF + fstr bridge → advanced-exploits-3.md
pthread + user-controlled alloca(n) + shutdown(fd, SHUT_WR)Cross-thread alloca smash + partial-close leak → advanced-exploits-3.md
libobjc linked + tcache-sized free followed by objc_msgSendIsa-pointer UAF dispatch hijack → advanced-exploits-3.md
aarch64 kernel mod + paciza/autiza + IOCTL sizeof boundARM64 PAC-key exfil via bounds-mismatch AAR → advanced-exploits-3.md
seccomp kills write/socket + /usr/bin/cmp reachable + /flag readablecmp timing oracle → advanced-exploits-3.md
C++ pwn with vtable dispatch + 0x110/0x480 chunk sizesHouse of Spirit via C++ vtable → advanced-exploits.md
SPLICE_F_GIFT / MSG_ZEROCOPY / TCP_ZEROCOPY_RECEIVE in proxyZero-copy page aliasing TOCTOU → kernel-advanced.md
seccomp allows io_uring_* only, kernel ≥ 6.1IORING_SETUP_NO_MMAP escape → sandbox-escape.md
Sandboxed proc can recv from helper via AF_UNIXSCM_RIGHTS fd smuggling → sandbox-escape.md
setuid binary scrubs secret after read, coredumps reachableCoredump race → sandbox-escape.md
Non-standard eBPF prog on kprobe, flag gated by global stateeBPF FSM syscall-sequence → sandbox-escape.md
Traefik ≤ 2.11.13 front + Flask/Node admin routesX-Forwarded-* reach → polyglot chain → advanced-exploits-3.md
d8 / js / jsc binary + *.patch modifying JIT compiler sourcesJIT type confusion → browser-jit.md
V8 build with v8_enable_sandbox=true; primitive only inside cageExternalPointerTable bypass → browser-jit.md
Turbofan typer patch touching Type::Range / Type::OtherNumberRange-analysis type confusion → browser-jit.md
IonMonkey RangeAnalysis.cpp diff or JSC DFGSpeculativeJIT.cpp diffOSR-exit / range bug → browser-jit.md
Rust panic caught + recovered with unsafe state betweenUnwind-path Drop corruption → rust-pwn.md
mem::transmute / slice::from_raw_parts_mut on user-controlled lenSliced-length OOB → rust-pwn.md
Vec::reserve(n) + set_len(n) without n writesUninitialised-drop vtable hijack → rust-pwn.md
as u32 / as usize on subtraction result in release buildTruncation overflow → rust-pwn.md
async fn with Pin<&mut Self> across .await + raw-ptr aliasingFuture state-machine confusion → rust-pwn.md
unprivileged_bpf_disabled=0 + kernel 5.13-6.5 + bpf_prog_load reachableeBPF verifier pointer-arith bypass → kernel-advanced.md
BPF_MAP_TYPE_RINGBUF + kernel < 5.15Ringbuf stale-byte KASLR leak → kernel-advanced.md

Recognize the mechanic first. The challenge title is never the signal.


For inline code/cheatsheet quick references (grep patterns, one-liners, common payloads), see quickref.md. The Pattern Recognition Index above is the dispatch table — always consult it first; load quickref.md only if you need a concrete snippet after dispatch.

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.