Awesome-offsec-claude api-exploit-prover
Convert API vulnerability leads into confirmed impact or cleanly disproven outcomes with reproducible evidence.
install
source · Clone the upstream repo
git clone https://github.com/1ikeadragon/awesome-offsec-claude
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/1ikeadragon/awesome-offsec-claude "$T" && mkdir -p ~/.claude/skills && cp -r "$T/api-exploit-prover" ~/.claude/skills/1ikeadragon-awesome-offsec-claude-api-exploit-prover && rm -rf "$T"
manifest:
api-exploit-prover/SKILL.mdsource content
API Exploit Prover
When To Use
Use this after discovery identifies candidate API weaknesses.
Inputs
candidate_findingstarget_base_urlauth_and_role_contexttest_data_or_seed_objects
(noise limits, forbidden write actions)constraints
Confidence Model
: hypothesis onlyC0
: suspicious signalC1
: reproducible behavior anomalyC2
: exploit primitive provenC3
: business impact provenC4
Execution Workflow
Phase 1: Reproduction Baseline
- Replay original request as control.
- Capture stable baseline across repeated requests.
- Validate request preconditions (auth, ownership, object existence).
Phase 2: Alternative Technique Check
- Re-test with a different method than original lead.
- Vary payload shape and transport encoding.
- Confirm behavior survives minor variance.
Phase 3: Impact Escalation
- Attempt controlled state change or unauthorized data access.
- Test cross-tenant and cross-role boundaries where legal.
- Validate whether impact persists after session/token refresh.
Phase 4: Confounder Elimination
- Rule out caching and stale object state.
- Rule out test-environment race artifacts.
- Rule out expected business behavior incorrectly interpreted as vulnerability.
Phase 5: Classification
only when exploit and impact are replayable.confirmed
when mitigation or expected behavior is proven.disputed
when blockers prevent decision.inconclusive
Technique Rules by Vulnerability Type
| Type | Rule |
|---|---|
| BOLA/BFLA | Must show unauthorized object or action with foreign identifier |
| Injection | Must show parser/engine effect beyond literal handling |
| Mass assignment | Must show unauthorized field control and persisted impact |
| SSRF | Must prove outbound request/control over target or metadata access |
| Rate abuse | Must show bypass of intended limit with practical impact |
Evidence Requirements
- Exact request and response pairs.
- Reproduction count and variance notes.
- Auth role used in each attempt.
- Clear impact statement tied to observable effect.
Output Contract
{ "confirmed_findings": [], "disputed_findings": [], "inconclusive_findings": [], "evidence": [], "confidence": [] }
Failure Modes
- Single-shot confirmation without retest.
- Treating error differences as exploit proof.
- Claiming impact without business-context validation.
Exit Criteria
- Every finding has final status and explicit reason.
- Confirmed findings include replayable impact proof.
- Inconclusive findings list unblockers.
Detailed Operator Notes
Reproducibility Standard
- Replay each confirmed case in a fresh session.
- Replay with at least one payload or transport variant.
- Keep one negative control request for every positive claim.
False-Positive Controls
- For timing signals, compare against matched control payloads.
- For authz signals, verify with ownership-correct and ownership-incorrect objects.
- For parser signals, verify semantic effect, not just error shape changes.
Severity Calibration Inputs
- Required attacker privilege.
- Cross-tenant or single-tenant impact.
- Ability to automate at scale.
- Degree of data sensitivity.
Reporting Rules
- Include exact request signatures (method, path, key headers, payload hash).
- Include verification run count and consistency notes.
- Include why alternative explanations were rejected.
Conditional Decision Matrix
| Condition | Action | Evidence Requirement |
|---|---|---|
| Endpoint undocumented but reachable | Add to inventory and prioritize authz checks | request/response baseline + auth behavior |
| Auth behavior inconsistent across methods | Split tests by method and content type | per-method status + body signatures |
| Time-based anomaly only | run matched control timing series | repeated control/test timing traces |
| Object access differs by role | escalate to cross-tenant/cross-role checks | role-tagged replay proof |
| Validation differs by parser | run semantic-equivalent content-type tests | parser-path differential evidence |
Advanced Coverage Extensions
- Add negative-object tests for soft-deleted or archived resources.
- Add replay-window tests for idempotency and duplicate processing.
- Add bulk endpoint abuse tests for partial authorization failures.
- Add asynchronous job handoff checks for stale permission snapshots.
- Add pagination/filter abuse checks for hidden data exposure.