idor-hunter

SkillSecurity

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.

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the idor-hunter skill

What this skill tells your AI

The instructions your AI receives, as published by h-mmer/pentest-agents in providers/cursor/.cursor/skills/agent-idor-hunter/SKILL.md and read by ahel’s review.

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.

Signals

GitHub stars
908
Forks
169
Last commit
Jun 2026
Advanced
Catalog kind
skill
Gateway key
idor-hunter
Source
github.com/h-mmer/pentest-agents