CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

ctf-pwn

Provides binary exploitation techniques for CTF challenges. Use when you already have a vulnerable native target or service and need to turn memory corruption or low-level primitives into code execution or privilege escalation, such as buffer overflows, format strings, heap bugs, ROP, ret2libc, shellcode, kernel exploitation, seccomp bypass, sandbox escape, or Windows/Linux exploit chains. Do not use it when the main blocker is understanding what the binary does; use reverse engineering first. Do not use it for pure web bugs, disk or packet forensics, or standalone crypto/math challenges.

Quality

80%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Passed

No findings from the security scan

Fix and improve this skill with Tessl

tessl review fix ./ctf-pwn/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

67%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

The body is a dense, expert-oriented quick reference with executable commands, specific exploit patterns, and sensible decision trees, scoring well on conciseness, actionability, and workflow clarity. However, progressive disclosure fails in practice: the entire deep-dive layer it points to is absent from the bundle, a referenced install script is missing, and the five genuine exploit scripts that do exist are never surfaced. The skill works as an overview but cannot deliver the detailed content it promises.

Suggestions

Ship the 22 referenced .md deep-dive files (overflow-basics.md, rop-and-shellcode.md, rop-advanced.md, kernel*.md, heap-*.md, format-string.md, sandbox-escape.md, tools-mcp.md, etc.) in the bundle, or prune the body to reference only files that actually exist — every 'See X.md for full details' link currently resolves to a missing file.

Reference the five existing exploit scripts (scripts/ret2libc_two_stage.py, scripts/srop_execve.py, scripts/fmtstr_payload_suite.py, scripts/seccomp_orw_generator.py, scripts/shellcraft_asm.py) from the body — e.g., in Quick Start Commands or the relevant technique sections — so they are discoverable instead of orphaned.

Fix or remove the 'bash scripts/install_ctf_tools.sh python' line in Prerequisites, since that script is not present in the bundle's scripts/ directory.

DimensionReasoningScore

Conciseness

The body is a lean command reference that assumes expertise (checksec, cyclic, ROPgadget one-liners; no concept tutorials), but 'Source Code Red Flags' and 'Common Vulnerabilities' restate knowledge Claude already has, and the 'Additional Resources' index lines exhaustively enumerate every sub-technique. Anchor 4 (efficient with minor trimmable instances) fits better than 5 due to these padded spots, and better than 3 since nothing explains basic concepts.

4 / 5

Actionability

Concrete executable commands cover the core workflow (checksec --file=binary, ROPgadget --binary binary | grep "pop rdi", cyclic 200 / cyclic -l, pinned pip/apt installs) and technique patterns give exact specifics ("pop rdi; ret -> magic -> win()", syscall 322/0x142, 7*256 attempts max). Not 5 because most technique sections defer entirely to reference files for full exploit code — files that are absent from the bundle — and the five ready-made exploit scripts in scripts/ are never referenced in the body; not 3 because the main workflow is fully copy-paste executable.

4 / 5

Workflow Clarity

Sequences are clear: 'Quick Start Commands' gives the analysis order, 'Stack Buffer Overflow' is a numbered 5-step procedure, and the protection-implications table plus explicit 'Quick decision tree' and 'When to Pivot' routing guide strategy selection. Not 5 because there is no unified end-to-end pipeline and verification checkpoints are implicit (e.g., confirming the leak before stage 2 is implied by 'return to vuln, stage 2' but never stated); not 3 because sequences and most checkpoints are present, and the destructive/batch validation cap does not apply to this skill type.

4 / 5

Progressive Disclosure

Scored against the actual bundle: all 22 .md files referenced in the body (overflow-basics.md, rop-and-shellcode.md, kernel.md, heap-techniques.md, tools-mcp.md, pwnable-tw/README.md, etc.) are missing, scripts/install_ctf_tools.sh cited in Prerequisites does not exist, and the 5 real scripts in scripts/ (ret2libc_two_stage.py, srop_execve.py, fmtstr_payload_suite.py, seccomp_orw_generator.py, shellcraft_asm.py) are orphaned — never referenced from the body. Every 'See X.md for full details' pointer is a dead link, so the disclosure layer is non-functional and existing assets are undiscoverable. Not 1 because the body itself is well-sectioned with substantial inline content (no wall of text, no nested references); not 3 because the defect is dead/orphaned paths rather than organization quality.

2 / 5

Total

14

/

20

Passed

Description

87%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

The description is strong: it states a clear capability with a comprehensive enumeration of exploitation techniques, gives an explicit 'Use when' trigger plus negative triggers that cleanly separate it from reverse-engineering, web, forensics, and crypto skills. The only deductions are a second-person clause ('Use when you already have') triggering the rubric's voice penalty and the absence of the common synonym 'pwn'.

DimensionReasoningScore

Specificity

The description comprehensively enumerates concrete techniques ('buffer overflows, format strings, heap bugs, ROP, ret2libc, shellcode, kernel exploitation, seccomp bypass, sandbox escape, or Windows/Linux exploit chains') and concrete outcomes ('turn memory corruption or low-level primitives into code execution or privilege escalation'), which is anchor-5 coverage. Per the rubric's voice rule, the second-person clause 'Use when you already have a vulnerable native target' reduces the score by 1. Not 3: coverage far exceeds 1-2 concrete actions.

4 / 5

Completeness

Explicitly answers both questions: what ('Provides binary exploitation techniques... turn memory corruption or low-level primitives into code execution or privilege escalation') and when ('Use when you already have a vulnerable native target or service'), plus explicit negative triggers ('Do not use it when the main blocker is understanding what the binary does... Do not use it for pure web bugs, disk or packet forensics, or standalone crypto/math challenges'). This matches the anchor-5 example structure with concrete trigger phrases; not 4 because the 'when' is already fully explicit and specific.

5 / 5

Trigger Term Quality

Good natural keyword coverage: 'binary exploitation', 'CTF challenges', 'buffer overflows', 'format strings', 'ROP', 'ret2libc', 'shellcode', 'kernel exploitation', 'seccomp bypass', 'sandbox escape', 'memory corruption'. Not 5: the community-standard synonyms 'pwn'/'pwnable' and phrases like 'get a shell' are absent; not 3: coverage is broad rather than missing common variations.

4 / 5

Distinctiveness Conflict Risk

Clear niche (native binary exploitation for CTFs) with active disambiguation from adjacent skills: 'use reverse engineering first' when the blocker is comprehension, and exclusions for 'pure web bugs, disk or packet forensics, or standalone crypto/math challenges'. Minimal conflict risk; not 4 because the boundaries are explicitly stated rather than merely implied.

5 / 5

Total

18

/

20

Passed

Validation

81%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 13 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

metadata_version

'metadata.version' is missing

Warning

relative_links

Relative link issues: 49 missing

Warning

referenced_paths_exist

Referenced path issues: 1 missing

Warning

Total

13

/

16

Passed

Repository

ljagiello/ctf-skills

Path

ctf-pwn/SKILL.md

Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.