skills/intelligent-fuzzing/SKILL.md
Targeted param/field discovery using tech stack clues, naming conventions, and controlled-rate ffuf — then feeds findings into request-exploration for mutation. Not brute-force; informed and scoped.
npx skillsauth add ghostonbutterbread/bug-bounty-harness intelligent-fuzzingInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Use when mapping a target app or testing a specific endpoint and you want to find hidden or undocumented parameters or fields. This is not brute-force spraying — it is targeted, informed discovery that feeds into /request-exploration for mutation after finding new parameters.
/live-testing-policy./request-exploration for mutation/headers/waf-live-policyThe methods below are patterns to think with, not a fixed checklist. Adapt them to the target's actual stack, naming conventions, and feature set. If the tech stack or app vocabulary suggests a discovery vector not listed here, try it.
Check HTTP headers (Server, X-Powered-By, CF-Ray), response body patterns, error page signatures, favicon hashes, JS file names, and Wappalyzer-equivalent signals. This guides wordlist selection.
Examples:
Server: nginx + Django-style CSRF tokens → Django convention params like csrfmiddlewaretoken, next, format, fields.X-Powered-By: Express + __callback or jsonp in JS → Express/Node convention params like callback, jsonp, _method.authenticity_token hidden inputs → Rails convention params like utf8, commit, _method, format.__NEXT_DATA__ or _next paths → Next.js convention params like __nextDefaultLocale, __nextLocale, amp.__schema introspection or /graphql path → field names extracted from GraphQL schema or queries already observed.From already-observed requests: REST path patterns, GraphQL field names, query string keys, JSON body key styles (camelCase vs snake_case), and header naming patterns.
Examples:
/users/{id} suggests userId, user_id, user, or uid as parameter names on other endpoints./api/orders/{orderId}/items suggests orderId, order_id, itemId, or item_id on related endpoints.customer_email and customer_name suggests customer_phone, customer_address, customer_role, customer_credit may exist.kebab-case (e.g. ?sort-by=date) — generate kebab-case variants for discovery.From crawled or mapped content: feature names, internal terms, admin/debug labels visible in the UI or JavaScript.
Examples:
early_access, beta, feature_flag, eap, preview.dashboard, impersonate, masquerade, or sudo → add these to the wordlist.plan, plan_type, plan_id, subscription, tier.debugMode, isDev, isSandbox, or mockUser → probe these exact names plus lowercase/snake_case variants.Derived from the above, not a generic list. Include:
authenticity_token, Django csrfmiddlewaretoken, Express __callback, Laravel _token, Spring _csrfdebug, preview, dev, test, admin, auth, sudo, impersonate, internal, mockbeta, early_access, eap, preview, experimental, lab, hiddenisAdmin, isStaff, role, access, permission, scope, entitlementDefault 15 rps, adaptive backoff on 429s, using ffuf or equivalent. Filter to in-scope paths only. Do not spray broadly.
Example ffuf invocation:
ffuf -w targeted.txt -u https://target.example.com/api/endpoint?FUZZ=test -H "Authorization: Bearer $TOKEN" -mc 200,201,301,302,401,403 -t 5 -p 0.2
Start with a small probe set derived from the tech stack and naming conventions. Expand only when the first wave produces useful signal without triggering rate limits or blocks.
/request-explorationFor each discovered parameter, run systematic mutation: boolean flip, type injection, encoding variants, and behavioral testing.
Example handoff:
?debug=true returns a stack trace while ?debug=false returns a normal page./request-exploration: try 1, yes, on, TRUE, %74rue, [true], and compare behavior at each value.Stop on: out-of-scope URL, non-owned resource without clear public access, human-facing action, program rate limit approached or persistent 429, excessive 4xx responses suggesting automated blocking, account lockout, or CAPTCHA.
Record tech stack signals found, wordlist rationale, parameters discovered, and any security-relevant behavior observed during mutation. Never record raw passwords, cookies, bearer tokens, or private data.
testing
Systematic live request mutation: flip booleans, field ops, headers, content-type, parser differentials, replay vs intercept, null/empty testing. Inherits live-testing-policy scope/rate/ownership rules.
development
Test password reset, forgot-password, reset-token, email reset, and account recovery flows for account takeover risks.
testing
Ghost-only workflow for creating approved bug bounty test accounts and saving credential references.
tools
Use BountyLens sessions, findings, leads, tested endpoints, reports, watchlist, stats, and program intelligence without per-agent MCP config.