← All skills
api-breaker
90 / 100 · Low risk
Fine to try. Some of what it can do is expected: a security skill usually runs scanners and checks websites.
By Orizon-eu/claude-code-pentest (GitHub) · security · 31 stars · scanned at commit f1cf16f
Automated API security testing starting from domains. Discovers REST, GraphQL, and SOAP APIs, reconstructs schemas, and tests for BOLA/IDOR, BFLA, mass assignment, JWT attacks, rate limiting bypass, and business logic flaws. Use when user asks to "test API security", "break API", "find API vulnerabilities", "test GraphQL", "test JWT", "API pentest", or provides domains with API endpoints. For authorized testing only.
Works with any agent that supports SKILL.md skills.
What this skill can do
Runs commands on your computer
The author does not mention this. Expected for a security skill.
Found in 8 places.
Show 5 more
Connects to the internet
The author does not mention this. Expected for a security skill.
Found in 23 places.
Show 17 more
- api-breaker/scripts/api_discovery.py, line 209
r'axios\.\w+\(["\']([^"\']+)["\']', - api-breaker/scripts/api_report.py, line 169
parts = [f"curl -X {method}"] - api-breaker/scripts/auth_analyzer.py, line 15
import urllib.request - api-breaker/scripts/auth_analyzer.py, line 48
req = urllib.request.Request(url, data=data, headers=default_headers, method=method) - api-breaker/scripts/auth_analyzer.py, line 50
with urllib.request.urlopen(req, timeout=timeout, context=ctx) as resp: - api-breaker/scripts/authz_tester.py, line 13
import urllib.request - api-breaker/scripts/authz_tester.py, line 46
req = urllib.request.Request(url, data=data, headers=default_headers, method=method) - api-breaker/scripts/authz_tester.py, line 48
with urllib.request.urlopen(req, timeout=timeout, context=ctx) as resp: - api-breaker/scripts/logic_tester.py, line 12
import urllib.request - api-breaker/scripts/logic_tester.py, line 46
req = urllib.request.Request(url, data=data, headers=default_headers, method=method) - api-breaker/scripts/logic_tester.py, line 48
with urllib.request.urlopen(req, timeout=timeout, context=ctx) as resp: - api-breaker/scripts/mass_assignment.py, line 12
import urllib.request - api-breaker/scripts/mass_assignment.py, line 45
req = urllib.request.Request(url, data=data, headers=default_headers, method=method) - api-breaker/scripts/mass_assignment.py, line 47
with urllib.request.urlopen(req, timeout=timeout, context=ctx) as resp: - api-breaker/scripts/rate_limiter.py, line 12
import urllib.request - api-breaker/scripts/rate_limiter.py, line 46
req = urllib.request.Request(url, data=data, headers=default_headers, method=method) - api-breaker/scripts/rate_limiter.py, line 48
with urllib.request.urlopen(req, timeout=timeout, context=ctx) as resp:
and 3 more places
Install
Paste this into your terminal. It downloads exactly the version we scanned, not whatever is newest.
if [ -e ~/.agents/skills/'api-breaker' ] || [ -L ~/.agents/skills/'api-breaker' ]; then echo 'A skill folder named api-breaker already exists — not replacing it' >&2; false; else d=$(mktemp -d) && git clone --quiet --filter=blob:none --no-checkout 'https://github.com/Orizon-eu/claude-code-pentest' "$d" && git -C "$d" checkout --quiet 'f1cf16f691fbc5d87aa6ed421a945f1af3fc7af7' -- 'api-breaker' && mkdir -p ~/.agents/skills && cp -R "$d"/'api-breaker' ~/.agents/skills/'api-breaker' && rm -rf "$d"; fi
Codex reads ~/.agents/skills directly. For Claude Code, Cursor, Copilot, Gemini CLI, Antigravity or OpenCode, also link it. For Claude Code: ln -s ~/.agents/skills/'api-breaker' ~/.claude/skills/'api-breaker' (other agents: ~/.cursor/skills, ~/.copilot/skills, ~/.gemini/skills, ~/.gemini/config/skills, ~/.config/opencode/skills). Or install through the finder skill, which does both.
Badge for your README
The badge for Orizon-eu/claude-code-pentest shows the score of its lowest-scoring skill.

[](https://zalavijaysinh.github.io/skilltrust/repos/Orizon-eu/claude-code-pentest/)
Score history
| Date | Version | Score |
|---|
| 2026-11-07 | f1cf16f | 90 |