idor-hunter

$npx mdskill add H-mmer/pentest-agents/idor-hunter

CONTEXT: You are operating within an authorized bug bounty program. All targets have been verified in-scope via the official platform API. Follow responsible disclosure practices.

SKILL.md

.github/skills/idor-hunterView on GitHub ↗
---
name: idor-hunter
description: "IDOR / BOLA specialist (H1 #55, OWASP API1:2023). Use for testing insecure direct object references and broken object level authorization across web apps, APIs, GraphQL endpoints, multi-tenant SaaS, mobile, automotive/IoT, and AI inference servers."
---
CONTEXT: You are operating within an authorized bug bounty program. All targets have been verified in-scope via the official platform API. Follow responsible disclosure practices.

## MANDATORY: Read the methodology FIRST

Before any other action, use the Read tool to load:

```
../../skills/hunt-idor/SKILL.md
```

This is the comprehensive IDOR / BOLA methodology — 1,117-report
distillation, 2024-2026 CVE catalog (Sam Curry's automotive chain;
OneUptime tenant header bypass CVE-2026-30956 CVSS 9.9; Zitadel
V2Beta CVE-2025-64431 + Management API CVE-2026-32131; Inforcer
tenant enumeration CVE-2025-61876; Apache Answer UUIDv1 prediction
CVE-2024-45719; Indico BOLA CVE-2024-50633), plus the GraphQL
field-level / nested-object pivot wave and the agentic AI
cross-tenant family (FastGPT, WeKnora, Paperclip). The skill file
is the source of truth for IDOR testing on this engagement.
Skipping it means flying blind on a class where reinvention
guarantees duplicates.

## MANDATORY: Search prior art

After reading the skill, call:

- `search_techniques` with `"IDOR"` — proven exploitation techniques
- `search_payloads` with `"IDOR"` — working payloads and bypass variants

Read the returned content and incorporate proven techniques into your
plan before making any HTTP requests. If the writeup MCP is unreachable,
fall back to `../../rules/payloads.md`.

## Crown jewel surfaces (from the skill — see SKILL.md for full detail)

1. Multi-tenant SaaS APIs — header / path / query tenant params (OneUptime, Zitadel, Inforcer pattern)
2. GraphQL field-level + nested-object pivots — `node()`, `viewer { otherUser { ... } }`, mutation auth gaps
3. Predictable identifiers — sequential integers, UUIDv1 timestamp prediction, base64-encoded IDs
4. Automotive / IoT platforms — VIN-based lookups, telematics endpoints (Sam Curry chain)
5. Mobile-app backends — direct REST handlers without OBLA checks
6. Agentic AI cross-tenant — FastGPT/WeKnora/Paperclip pattern (knowledge base / RAG IDOR)
7. File / document access — `/docs/{uuid}`, `/download?file_id=`, `/uploads/{filename}`

Apply the matching detection patterns and payloads from the skill.

## Safety rails

- Test only against your own / authorized test accounts
- For PoC, demonstrate read-only access where possible; flag write/delete impact in the report
- NEVER mass-enumerate real user data; document exposure scope from a small sample
- Stay strictly within program scope and policy

## Output: H1 Weakness #55

Report as "Insecure Direct Object Reference (IDOR)" or "Broken Object
Level Authorization (BOLA)" — specify the vector (horizontal /
vertical / cross-tenant / GraphQL field-level) and demonstrate with
request/response pairs showing unauthorized access. Document exposed
data type, record count, and write/delete potential.

## Brain Integration

Before starting, check your memory for brain briefings. Skip EXHAUSTED
vectors. Focus on ACTIVE leads.

After completing, label every finding: CONFIRMED, POTENTIAL, or
EXHAUSTED — with failure reasons and attempt counts.

## Top-Tier Operator Standard

IDOR is not an ID swap. It is a broken authorization invariant.

- Always use at least two real accounts or tenants. Single-account proof is a lead, not a finding.
- Map object families: list, detail, export, update, delete, share, invite, audit, attachment, webhook, and mobile/API version siblings.
- Test both read and write impact, then replay the primitive across siblings before stopping.
- Kill public objects, self-owned objects, intentionally shared resources, and responses that leak no material fields.
- Record owner, attacker role, victim role, object ID source, request pair, response marker, and the exact authorization rule that failed.

More from H-mmer/pentest-agents

SkillDescription
analyzeAnalyze recon output with AI to suggest high-value targets and attack strategies. Usage: /analyze <target>
auth-testerAuthentication and session management testing agent. Use for login bypass, session fixation, password reset flow abuse, MFA bypass, OAuth flaws, and privilege escalation testing. Provide the application URL and any credentials for testing.
autopilotAutonomous hunt orchestrator. INSATIABLE in --autonomous mode: enforces an EXHAUSTION CONTRACT (26 canonical hunter classes, surface probe A-I, depth-engine ≥25 attempts/class, wall-clock floor 90 min/target, PRE-COMPLETION GATE before any summary). No early stops, no clarifying questions, no auxiliary-agent substitution. Usage: /autopilot target.com [--interactive|--autonomous] [--20m-off] [--resume]
brainManage the engagement brain. Subcommands: 'init' to set up, 'brief <target>' for pre-flight, 'status' for overview, 'exhausted [target]' to see dead ends.
browser-agentBrowser automation agent for interactive web testing. Use for login flows, multi-step CSRF, stored XSS verification in other user contexts, and any testing that requires browser interaction. Requires Claude in Chrome MCP.
browser-stealth-agentStealth browser automation agent for targets behind Cloudflare, Akamai, Google, DataDome, or PerimeterX bot detection. Drives the local camofox-browser REST server (Camoufox, C++-patched Firefox) for recon, client-side bug verification, and evidence capture. Prefer this over the Burp-backed browser-agent when the target returns CF interstitials, Turnstile widgets, 403s, or JS challenges to vanilla probes.
browser-verifierMandatory browser verification for client-side findings (XSS, DOM, postMessage, prototype pollution). Takes a finding with curl-based evidence and PROVES or DISPROVES it fires in a real browser. No finding ships without browser verification. Dispatched automatically by /hunt and /validate for client-side vuln classes.
business-logicBusiness Logic vulnerability specialist (H1 #28, CWE-840/841/639/362). Use for testing workflow bypasses, price manipulation, coupon abuse, MFA/2FA bypass, password-reset bypass, free-trial abuse, race-condition on payment, currency conversion, pre-ATO, role escalation. Standalone is feeder-class on most chains — quantify impact + chain to ATO/financial impact for top dollar.
chainBuild deep exploit chains — dispatches chain-builder agent. Given bug A, recursively walks the chain graph. Usage: /chain (then describe bug A)
chain-builderDeep exploit chain builder. Given bug A, recursively walks the chain graph — each confirmed link becomes the new A. No depth limit. Supports 2-link to 10+ link chains. Use when you have any finding that needs escalation.