hunt-race-condition

Detects race condition and TOCTOU vulnerabilities using parallel-request and HTTP/2 single-packet techniques.

1|Updated Aug 21, 2026
One-click install
npx skills add https://github.com/marcboggs/BMAD-AppSec-Orchestrator --skill hunt-race-condition-marcboggs
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: hunt-race-condition
Source: https://github.com/marcboggs/BMAD-AppSec-Orchestrator/tree/main/.claude/skills/hunt-race-condition
Command: npx skills add https://github.com/marcboggs/BMAD-AppSec-Orchestrator --skill hunt-race-condition-marcboggs

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Race condition vulnerabilities let attackers redeem coupons twice, double-spend balances, inflate votes, or bypass rate limits, yet they are rarely caught by conventional testing because they require precisely timed concurrent requests. This Skill provides a structured hunting methodology, tooling templates, and real disclosed-case references for finding and validating these flaws during authorized bug bounty and red-team engagements. ## Core Features & Use Cases - Attack Surface Mapping: Identifies race-prone endpoints (redeem, vote, transfer, checkout) via URL patterns, response headers, JavaScript patterns, and tech-stack signals such as Rails without locking or Redis counters without atomicity. - Execution Tooling: Provides ready-to-adapt Turbo Intruder (Engine.BURP2), curl, and Python asyncio templates for firing 10-50 synchronized parallel requests, including the HTTP/2 single-packet last-byte-sync technique and Flatt Security's first-sequence-sync extension for 10,000-request batches. - Validation & Reporting Gate: Enforces a Gate 0 checklist (demonstrable duplicate effect, concrete victim impact, reproducibility in 3/5 attempts) before a finding is reported. - Use Case: While testing an e-commerce target, you capture a gift-card redemption request, replay it 20 times via a single HTTP/2 packet, observe the balance credited multiple times, and document a reproducible double-redemption report grounded in cited cases like Reverb H1 #759247 and nopCommerce CVE-2024-58248. ## Quick Start Ask the agent to hunt for race conditions on the target's coupon redemption endpoint using the single-packet parallel request methodology.

Frequently Asked Questions about hunt-race-condition

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I test for race condition vulnerabilities in a web app?▼

Capture a legitimate request to a one-time action endpoint, then replay 10-50 identical copies simultaneously using Turbo Intruder's Engine.BURP2, parallel curl, or Python asyncio. Confirm the race by checking whether the effect (credit, vote, redemption) was applied more than once.

What is the HTTP/2 single-packet attack for race conditions?▼

The single-packet attack, published by James Kettle at DEF CON 31, buffers multiple HTTP/2 requests up to their final byte, then releases all final bytes in one TCP write so the server processes them in the same scheduler tick. This collapses the race window to under a millisecond.

Which endpoints are most likely to have race condition bugs?▼

Endpoints enforcing one-per-user or limited-quantity constraints: coupon redemption, gift-card balance, vote/upvote, money transfer, referral claims, trial activation, and resource creation limits. Any check-then-act flow without database-level locking is a candidate.

Does the single-packet technique work on HTTP/1.1-only servers?▼

No, single-packet delivery requires HTTP/2 multiplexing over one connection. Verify support with curl --http2; on HTTP/1.1-only targets you must fall back to multi-connection parallel requests, which have a much wider race window and lower reliability.

Why does my race condition exploit fail intermittently?▼

Network jitter spreads sequentially sent requests across milliseconds, letting the server serialize them. Pre-connect and buffer all requests, then release final bytes simultaneously; also verify with Wireshark that all END_STREAM frames share one TCP segment.

How many parallel requests are needed to win a race condition?▼

Start with around 30 concurrent requests for HTTP/2 single-packet attacks, increasing to 100+ for very fast endpoints. Flatt Security's first-sequence-sync extension scales to 10,000 requests in 166 ms for cases like PIN brute-forcing inside rate-limit windows.