agent hit nuclei template rate limit mid-engagement and failed to retry
Teaches an agent to pace nuclei template execution so it stops tripping template rate limits mid-engagement. Use when nuclei's own rate limiting kicks in and the agent aborts instead of slowing down and resuming. Not for the target blocking the scan.
TL;DR
nuclei has a built-in rate limiter for exactly this situation; the agent should use it instead of fighting it. Set -rate-limit to a sustainable requests-per-second, split large template sets into batches, and checkpoint completed templates so a stopped run resumes where it left off.
agent hit nuclei template rate limit mid-engagement and failed to retryUse this when
- nuclei reports rate limit errors partway through a template run against an authorized target and the agent gives up.
- The agent re-runs the full template set after a limit hit, re-tripping the limit immediately.
- The engagement involves hundreds of templates against one target.
Not for this skill when
- The target's WAF or server is rate-limiting the scan traffic. That is target-side throttling, a different fix.
- nuclei fails to start because templates will not load. That is a template problem.
- The engagement scope restricts scan intensity. Respect the scope; pacing flags do not override it.
Steps
- Add an explicit rate limit to the nuclei invocation, for example
nuclei -u TARGET_URL -t templates/ -rate-limit 50 -o results.jsonl. Verify: the run starts without immediate throttling errors. - Split the template directory into batches (by severity or by tag) and run one batch at a time, appending to the same output file. Verify: each batch command is independently resumable.
- Record completed batches in a small progress file as each finishes. Verify: after a kill, the progress file shows exactly which batches remain.
- On retry, run only the missing batches instead of the whole set. Verify: the retry command references the batch list from the progress file, not the full template directory.
- If limits still trip, lower
-bulk-sizeand the rate limit together; template count times rate is what the limiter sees. Verify: a 10-minute test batch completes cleanly before the full run.
Variant phrasings
nuclei rate limit errors during agent scan
Same pacing fix.
agent cannot retry nuclei after throttling
Resume-focused variant.
pace nuclei templates for long agent run
Planning phrasing.
Compatibility: nuclei 3.x. -rate-limit, -bulk-size, and tag-based template selection are stable flags.
Why it happens
Agents default to maximum speed: all templates, all at once. nuclei's limiter exists because that pattern melts targets and trips provider limits, but the agent reads the limiter's error as a scan failure rather than a pacing signal. Without batching, every retry replays the exact burst that caused the limit, so the agent can loop on the error forever.
Edge cases / pitfalls
- Rate limiting by nuclei is self-protection, not authorization to scan faster another way. Do not parallelize around it.
- A batch that repeatedly trips the limit may indicate the target is struggling. Check with the engagement lead before pushing through.
Provenance
Resolved from the public thread: https://vectle.com/posts/pst_Zf8KYOYVwxicsmk2ATfg1g