Skip to content

How to Read Bug Bounty Rules: Scope, Rewards, Exclusions, and Reporting

Oct 13, 20261 min
TL;DRRead rules through four questions: what may I test, which reward conditions apply, which actions are excluded, and how must I report? A listed asset does not authorize every method or guarantee a payout.

Look up & save

Loading dictionary…

🌏 繁體中文版

TL;DR

Read a program through four lenses: scope, rewards, exclusions, and reporting. These are a reading framework, not four headings every program must use. Search for scope, reward, exclude, and report, then read the surrounding terms and linked product-specific rules.

By the end, you should have a written plan identifying the asset, permitted method, account and data boundaries, stop conditions, and reporting channel. A keyword match or reward table alone is not enough to authorize a test.

The situation

You enroll in a new program and face a long rules document. You want to start testing, but you need to know whether a host is eligible, which actions are permitted, and what the program expects if you encounter private data.

The useful shortcut is to organize your reading. Skipping conditions is not a shortcut: an eligible product can still have excluded methods, versions, or vulnerability classes.

Four recurring problems

Scope is ambiguous. Wildcards, product names, mobile applications, paths, and explicit exclusions can describe different boundaries. Asset ownership and scope eligibility also differ; a third-party integration is not automatically covered by its parent application's program.

Reward tables look comparable when they are not. A web-service finding, a TEE boundary crossing, and a guest-to-host escape have different prerequisites. A shared label such as “code execution” does not make their maximum awards interchangeable.

Method and data restrictions are missed. Rules can limit automation, request rates, account use, service disruption, or access to other users' data. Do not invent a universal rate limit from another program's API documentation.

Reporting conditions become a formula. Clear evidence helps evaluation, but a CVSS string, remediation suggestion, or video does not automatically earn a particular multiplier. Follow the program's actual requirements.

A four-step reading workflow

Step 1: Scope — identify the asset and its conditions

Example notationWhat it may meanWhat to confirm in the program
*.example.comA wildcard covering specified subdomainsDoes the root domain count, and which exclusions override it?
example.comA particular host or named assetDoes the program also cover related hosts or only this entry?
api.example.com in an exclusion listThat host is excludedDo not assume every platform uses ! as exclusion syntax
/v1/*A path constraint in a particular scope formatWhich host and methods does it apply to?
A product or version nameAn application-specific targetWhich versions, configurations, and environments qualify?

These examples illustrate questions, not a scope parser you can apply to every platform.

  • Record the exact asset entry and linked product rules.
  • Read exclusions before turning the entry into a test target.
  • Check invitation, registration, test-account, version, and environment requirements.
  • Record any stated automation or rate limits. If a planned action is unclear, ask through the program's contact route before that action.

Step 2: Rewards — compare conditions before amounts

Program exampleWhat to inspectA comparison to avoid
Google and Alphabet VRPApplicable asset tier, impact category, reward table, and stated report-quality considerationsTreating one tier's maximum as the reward for every RCE or XSS
Meta Private ProcessingEligible attack surface and external or internal scenario conditionsTreating external versus internal as a report-quality multiplier
Microsoft Hyper-VThe boundary crossed, vulnerability class, exploit requirements, and report-quality columnApplying Google's multipliers to Microsoft's table

Use the official page for the precise product and category. Record its URL and the conditions relevant to your finding. If you quote an amount, distinguish a maximum from an expected payout and keep historical announcements separate from current rules.

A better comparison asks “what attacker capabilities and impact does this row require?” before it asks “which number is largest?”

Step 3: Exclusions — turn restrictions into stop conditions

Area to inspectExamples to check in the rulesPractical consequence
Social engineeringPhishing or contacting staff under a false identityDo not assume a technical-testing invitation covers people
AvailabilityDenial of service, resource exhaustion, stress testsStay within explicitly permitted methods and stop on service impact
Third partiesCDN, identity-provider, or integration assetsConfirm separate authorization rather than inheriting scope
Physical accessDevice tampering or on-site accessCheck whether the program permits that scenario
AutomationScanners, brute force, traffic limitsApply the program's own constraints
Data handlingPrivate records, credentials, retention, disclosureMinimize access, use your own accounts, and follow reporting instructions

Search for prohibited, not allowed, exclude, social engineering, denial of service, and data. The surrounding text determines the rule; these examples are not a universal list of exclusions.

Step 4: Reporting — make the finding reproducible

Prepare evidence that answers:

  • Which eligible asset and account roles are involved?
  • What starting state and steps reproduce the behavior?
  • What should happen, and what actually happens?
  • What impact have you demonstrated, and what remains hypothetical?

Use a minimal cURL or Repeater procedure when helpful, with credentials redacted. Include the relevant response rather than unrelated records. Provide a CVSS version and rationale if requested; do not copy an unexplained vector into every report. Offer a fix when you have a supported suggestion, and use a screenshot or video if it clarifies the reproduction.

Do not download extra private data to manufacture an impact count. A minimal reproducible example and a clear access boundary are more useful than an unsupported estimate of affected users or financial loss.

Why this structure works

Scope identifies the eligible attack surface. Testing restrictions protect services and other users. Reporting requirements make the finding assessable, while reward rules describe how the program evaluates eligible submissions.

These questions are related but distinct. A report can be technically clear and still be a duplicate or out of scope. A large advertised maximum does not remove the need to satisfy a row's prerequisites.

Save this worksheet before testing:

Program and rules URL:
Asset / product / version:
Registration or invitation requirement:
Permitted method and any traffic limit:
Test accounts and data boundary:
Excluded actions and stop conditions:
Relevant reward category and prerequisites:
Report channel and required evidence:
Unresolved questions:

Self-check

  • I can locate the asset entry and any exclusions that override it.
  • I can state which methods, accounts, and data the planned test uses.
  • I can explain the relevant reward row's prerequisites without promising payment.
  • I recorded stop conditions and the program's reporting channel.
  • I resolved authorization questions before performing the affected action.

Next, part 2 explains HTTP, cookies, and sessions so that part 3's workbench requests make sense.

Update history

  • 2026-10-15: Preserved the systematic rules-reading workflow and synchronized both languages; corrected wildcard assumptions and program comparisons, removed unsupported rate limits, payout guarantees, and invented report-quality formulas.

References