Runbook 01 — Bug Bounty Program Intake and Scope Validation
Purpose
Section titled “Purpose”Use this runbook whenever you begin work on a new Bug Bounty program or return to a program after a significant period of time.
The objective is to ensure that you know:
What Is Authorized
What Is Not Authorized
Which Testing Methods Are Allowed
Which Assets Are Third Party
Which Restrictions Apply
Which Targets Should Be Prioritizedbefore performing:
Reconnaissance
Scanning
Application Testing
API Testing
Mobile Testing
Cloud TestingThis runbook establishes the first operational control in Bug Bounty research:
AuthorizationBeforeInteractionWhen to Use This Runbook
Section titled “When to Use This Runbook”Use this runbook:
-
when joining a new Bug Bounty program.
-
before starting a new research engagement.
-
when program scope changes.
-
when returning to an old target.
-
when a new asset is discovered.
-
when wildcard scope is unclear.
-
when third-party infrastructure appears.
-
before configuring automated reconnaissance.
-
when testing restrictions have changed.
-
before expanding testing into mobile, cloud or API assets.
Runbook Outcome
Section titled “Runbook Outcome”At completion, you should have:
Validated Program Profile
Current Scope Snapshot
In-Scope Asset Register
Exclusion Register
Testing Restrictions
Third-Party Register
Automation Limits
Scope Decision Log
Target Priority List
Research Authorization DecisionRequired Inputs
Section titled “Required Inputs”Before starting, obtain:
Program Policy
In-Scope Asset List
Out-of-Scope Asset List
Testing Restrictions
Disclosure Policy
Safe-Harbor Language
Automation Rules
Vulnerability ExclusionsIf any of these are unavailable, document the missing information.
Required Records
Section titled “Required Records”Create or update:
01 Program_Profile.md
02 Scope_Register.csv
03 Exclusion_Register.csv
04 Testing_Restrictions.md
05 Third_Party_Register.csv
06 Scope_Decision_Log.md
07 Target_Priority_Matrix.csv
08 Scope_Snapshot.mdPhase 1 — Program Intake
Section titled “Phase 1 — Program Intake”Step 1 — Open the Official Program Policy
Section titled “Step 1 — Open the Official Program Policy”Use only the current official program source.
Do not rely solely on:
Old Notes
Screenshots
Search Results
Community Posts
Previous Scopeas the authoritative source.
Step 2 — Record Program Identity
Section titled “Step 2 — Record Program Identity”Document:
Program Name
Program Platform
Program URL
Date Reviewed
Researcher Account
Disclosure TypeExample:
## Program Information
Program:
NovaCloud Security Research Program
Reviewed:
YYYY-MM-DD
Program Type:
Public Bug Bounty
Status:
ActiveStep 3 — Record Business Context
Section titled “Step 3 — Record Business Context”Document what the organization provides.
Examples:
SaaS Platform
Financial Services
E-Commerce
Cloud Storage
Developer Platform
Mobile ApplicationAsk:
What DoesThis OrganizationProtect?Phase 2 — Extract Explicit Scope
Section titled “Phase 2 — Extract Explicit Scope”Step 4 — Identify Explicit In-Scope Assets
Section titled “Step 4 — Identify Explicit In-Scope Assets”Copy every explicitly authorized asset into:
02 Scope_Register.csvRecommended fields:
| Asset | Type | Scope Basis | Restrictions | Status |
|---|
Possible asset types:
Domain
Subdomain
Wildcard
IP Range
Web Application
API
Mobile Application
Cloud AssetStep 5 — Mark Explicit Scope
Section titled “Step 5 — Mark Explicit Scope”Use:
Explicitwhen an asset appears directly in the program policy.
Example:
api.example.comshould be recorded as:
Scope Basis:ExplicitStep 6 — Identify Wildcard Scope
Section titled “Step 6 — Identify Wildcard Scope”Look for entries such as:
*.example.comor:
*.labs.example.comDocument them separately.
Do not immediately interpret wildcard scope as:
EverythingRelated tothe OrganizationPhase 3 — Validate Wildcards
Section titled “Phase 3 — Validate Wildcards”Step 7 — Interpret the Wildcard Boundary
Section titled “Step 7 — Interpret the Wildcard Boundary”For:
*.labs.example.compotentially covered hosts may include:
api.labs.example.com
dev.labs.example.comBut it does not automatically include:
example.net
vendor.example
cloud-provider infrastructureStep 8 — Record Wildcard Questions
Section titled “Step 8 — Record Wildcard Questions”Document uncertainties such as:
Does the wildcardinclude the root host?
Are newly discoveredsubdomains covered?
Are cloud aliasescovered?Step 9 — Use Unknown When Necessary
Section titled “Step 9 — Use Unknown When Necessary”If the answer is unclear:
Scope Status:UnknownOperational decision:
Do NotActively Testuntil clarified.
Phase 4 — Extract Exclusions
Section titled “Phase 4 — Extract Exclusions”Step 10 — Identify Explicit Out-of-Scope Assets
Section titled “Step 10 — Identify Explicit Out-of-Scope Assets”Copy all excluded assets into:
03 Exclusion_Register.csvRecommended fields:
| Asset | Type | Exclusion Reason | Action |
|---|
Use:
Do Not Testas the operational action.
Step 11 — Record Vulnerability Exclusions
Section titled “Step 11 — Record Vulnerability Exclusions”Programs may exclude findings such as:
Self-XSS
Missing Headers
Rate Limiting
Username Enumeration
Clickjacking
Informational TLS Issuesdepending on policy.
Record these separately from:
Asset Scopebecause:
In-Scope Asset ≠Every VulnerabilityEligiblePhase 5 — Identify Third-Party Boundaries
Section titled “Phase 5 — Identify Third-Party Boundaries”Step 12 — List Third-Party Services
Section titled “Step 12 — List Third-Party Services”Applications may use:
Payment Providers
Analytics
Authentication Providers
Support Platforms
CDNs
Cloud Services
Customer IntegrationsCreate:
05 Third_Party_Register.csvwith:
| Domain/Service | Purpose | Relationship | Scope | Action |
|---|
Step 13 — Apply the Ownership Rule
Section titled “Step 13 — Apply the Ownership Rule”Ask:
Does the TargetOperate This Asset?
Is It ExplicitlyAuthorized?If not:
Do Not TestStep 14 — Do Not Follow Third-Party Chains
Section titled “Step 14 — Do Not Follow Third-Party Chains”Avoid:
Target Application ↓Vendor ↓Vendor Infrastructure ↓Cloud Provider ↓More Systemsunless each stage is explicitly authorized.
Phase 6 — Extract Testing Restrictions
Section titled “Phase 6 — Extract Testing Restrictions”Step 15 — Identify Prohibited Testing
Section titled “Step 15 — Identify Prohibited Testing”Look for restrictions such as:
Denial of Service
Social Engineering
Password Spraying
Credential Stuffing
Physical Testing
Destructive Actions
Data Exfiltration
High-Rate ScanningCreate:
04 Testing_Restrictions.mdStep 16 — Convert Policy into Technical Controls
Section titled “Step 16 — Convert Policy into Technical Controls”Example:
Policy:
Maximum 10requests per secondOperational setting:
Recon Rate:≤ 10 requests/secPolicy:
No Customer Data AccessOperational control:
Use Researcher-ControlledAccounts and ObjectsPhase 7 — Automation Validation
Section titled “Phase 7 — Automation Validation”Step 17 — Determine Whether Automation Is Allowed
Section titled “Step 17 — Determine Whether Automation Is Allowed”Classify:
Allowed
Allowed with Limits
Not Allowed
UnclearStep 18 — Configure Safe Defaults
Section titled “Step 18 — Configure Safe Defaults”If automation is permitted, use:
Low Concurrency
Explicit Scope Filtering
Limited Retries
Reasonable Timeout
No Exploit AutomationStep 19 — Configure Exclusion Filters
Section titled “Step 19 — Configure Exclusion Filters”Before automated discovery, ensure:
Excluded Domains
Third Parties
Unknown Assetsare filtered.
Step 20 — Apply the Automation Gate
Section titled “Step 20 — Apply the Automation Gate”Use:
Candidate Asset ↓Scope Validation ↓In Scope? / \ Yes No ↓ ↓Process StopPhase 8 — Review Data Handling Rules
Section titled “Phase 8 — Review Data Handling Rules”Step 21 — Determine Permitted Data Access
Section titled “Step 21 — Determine Permitted Data Access”Look for language covering:
Customer Data
Personal Information
Credentials
Secrets
Production DataStep 22 — Prefer Controlled Test Data
Section titled “Step 22 — Prefer Controlled Test Data”Use:
Account A
Account B
Tenant A
Tenant B
Test Objectswhenever possible.
Avoid:
Unknown CustomerDataStep 23 — Define Data Stop Condition
Section titled “Step 23 — Define Data Stop Condition”Example:
If Real CustomerData Appears,
Stop Testing,
Do Not Enumerate,
Preserve Minimal Evidence.Phase 9 — Review Safe Harbor
Section titled “Phase 9 — Review Safe Harbor”Step 24 — Identify Safe-Harbor Conditions
Section titled “Step 24 — Identify Safe-Harbor Conditions”Record whether the program protects good-faith research when performed:
Within Scope
Within Rules
Without Intentional Harm
With Responsible DisclosureStep 25 — Do Not Treat Safe Harbor as Unlimited Authorization
Section titled “Step 25 — Do Not Treat Safe Harbor as Unlimited Authorization”Safe harbor does not override:
Scope
Restrictions
Third-Party Ownership
Data RulesPhase 10 — Classify Assets
Section titled “Phase 10 — Classify Assets”Step 26 — Assign Business Function
Section titled “Step 26 — Assign Business Function”For each in-scope asset classify:
Marketing
Authentication
Main Application
API
Admin
Files
Payments
Developer
Mobile
Cloud
LegacyStep 27 — Record Authentication Requirement
Section titled “Step 27 — Record Authentication Requirement”Classify:
Public
Authenticated
Privileged
UnknownStep 28 — Record Data Sensitivity
Section titled “Step 28 — Record Data Sensitivity”Use:
Low
Medium
Highbased on likely functions.
Step 29 — Record Complexity
Section titled “Step 29 — Record Complexity”Consider:
Number of Roles
Number of Objects
Workflow Complexity
API Usage
Cloud Integration
Multi-Tenant BehaviorPhase 11 — Prioritize Targets
Section titled “Phase 11 — Prioritize Targets”Step 30 — Build Target Priority Matrix
Section titled “Step 30 — Build Target Priority Matrix”Create:
07 Target_Priority_Matrix.csvRecommended fields:
| Asset | Function | Auth | Sensitive Data | Complexity | Priority |
|---|
Use:
P1 — Immediate Research
P2 — Secondary Research
P3 — Low PriorityStep 31 — Prioritize Security Boundaries
Section titled “Step 31 — Prioritize Security Boundaries”Increase research priority for areas involving:
Authentication
Private Data
Tenant Isolation
Administrative Access
Payments
File Sharing
Account Recovery
Cloud IdentityStep 32 — Do Not Confuse Priority with Severity
Section titled “Step 32 — Do Not Confuse Priority with Severity”Remember:
P1 Target ≠Critical VulnerabilityPriority only means:
Spend ResearchTime Here FirstPhase 12 — Create Initial Research Questions
Section titled “Phase 12 — Create Initial Research Questions”Step 33 — Convert Business Functions into Questions
Section titled “Step 33 — Convert Business Functions into Questions”Example:
Private Filesbecomes:
Can User BAccess User A'sFiles?Example:
Organizationsbecomes:
Can a MemberPerform AdminActions?Step 34 — Create Initial Hypotheses
Section titled “Step 34 — Create Initial Hypotheses”Use:
Actor
Action
Target
Expected Control
Potential FailureExample:
A standard usermay be able to accessanother tenant's projectif the API fails tovalidate tenant ownership.Phase 13 — Scope Decision Logging
Section titled “Phase 13 — Scope Decision Logging”Step 35 — Record Every Ambiguous Asset
Section titled “Step 35 — Record Every Ambiguous Asset”Create:
06 Scope_Decision_Log.mdExample:
## Decision 001
Asset:
cdn.example.com
Observation:
Referenced by themain application.
Policy:
Not explicitly listed.
Decision:
Scope unclear.
Action:
Do not actively testuntil confirmed.Step 36 — Record Third-Party Decisions
Section titled “Step 36 — Record Third-Party Decisions”Example:
## Decision 002
Asset:
analytics.vendor.test
Observation:
Loaded by application.
Classification:
Third-party analytics.
Decision:
Out of scope.
Action:
Exclude from reconand testing.Phase 14 — Scope Snapshot
Section titled “Phase 14 — Scope Snapshot”Step 37 — Save a Current Scope Snapshot
Section titled “Step 37 — Save a Current Scope Snapshot”Create:
08 Scope_Snapshot.mdInclude:
Date
In-Scope Assets
Out-of-Scope Assets
Restrictions
Automation Rules
Safe-Harbor NotesThis gives you:
HistoricalAuthorization ContextPhase 15 — Final Authorization Gate
Section titled “Phase 15 — Final Authorization Gate”Before technical testing, answer:
Is the TargetExplicitly Authorized?
Is the Testing MethodAllowed?
Are RestrictionsConfigured?
Are Third PartiesExcluded?
Are Data RulesUnderstood?If every answer is:
Yesproceed.
If any answer is:
NoorUnknownstop and resolve it first.
Operational Decision Tree
Section titled “Operational Decision Tree”Use:
New Program ↓Read Policy ↓Extract Scope ↓Extract Exclusions ↓Extract Restrictions ↓Check Third Parties ↓Check Automation ↓Check Data Rules ↓Check Safe Harbor ↓Classify Assets ↓Prioritize Targets ↓Authorization Gate ↓Proceed to ReconNew Asset Decision Tree
Section titled “New Asset Decision Tree”Whenever recon discovers a new asset:
New Asset ↓Explicitly In Scope? / \ Yes No ↓ ↓Check Related byRules Wildcard? / \ Yes No ↓ ↓ Validate Unknown Wildcard ↓ ↓ Stop Authorized? / \ Yes No ↓ ↓ Test StopThird-Party Decision Tree
Section titled “Third-Party Decision Tree”Referenced Service ↓Target Controlled? / \ Yes Unknown/No ↓ ↓Explicitly Third PartyAuthorized? ↓ / \ StopYes No ↓ ↓Test StopScope Drift Indicators
Section titled “Scope Drift Indicators”Stop and review if you notice:
Testing New Root Domains
Following Vendor Infrastructure
Scanning Shared IP Ranges
Following Cloud Provider Ranges
Testing Acquired Companies
Testing Customer Integrations
Testing Related butUnlisted AssetsScope Drift Recovery Procedure
Section titled “Scope Drift Recovery Procedure”If scope drift occurs:
Stop Activity ↓Identify LastConfirmed Asset ↓Record What Happened ↓Remove UnauthorizedTargets from Queue ↓Review Policy ↓Resume OnlyWithin Valid ScopeEscalation Conditions
Section titled “Escalation Conditions”Seek clarification from the program when:
Wildcard InterpretationIs Ambiguous
Cloud Alias OwnershipIs Unclear
Mobile Backend ScopeIs Unclear
API DomainIs Not Listed
New Acquisition AssetAppears
Program RulesConflictStop Conditions
Section titled “Stop Conditions”Immediately stop testing a target if:
Asset Is ExplicitlyOut of Scope
Asset Is Third Party
Ownership Is Unclear
Testing MethodIs Prohibited
Real Customer DataIs Exposed
Unexpected OperationalImpact Occurs
Program ScopeChangesEvidence to Preserve
Section titled “Evidence to Preserve”For program intake, preserve:
Program Policy Snapshot
Scope Snapshot
Restriction Notes
Scope Decisions
Priority MatrixDo not collect vulnerability evidence yet unless a security issue appears incidentally.
Quality Checklist
Section titled “Quality Checklist”Before closing the runbook, confirm:
[ ] Program policy reviewed
[ ] Program profile created
[ ] Scope extracted
[ ] Wildcards reviewed
[ ] Exclusions extracted
[ ] Vulnerability exclusions recorded
[ ] Third parties identified
[ ] Testing restrictions recorded
[ ] Automation rules recorded
[ ] Data handling rules recorded
[ ] Safe harbor reviewed
[ ] Assets classified
[ ] Priorities assigned
[ ] Scope decision log updated
[ ] Scope snapshot saved
[ ] Final authorization gate passedRunbook Success Criteria
Section titled “Runbook Success Criteria”This runbook is complete when you can clearly state:
What I Can Test
What I Cannot Test
Which MethodsI Can Use
Which ServicesAre Third Party
Which RestrictionsApply
Which AssetsI Will Research First
and
Why I AmAuthorized to ProceedCommon Failure 1 — Testing Before Policy Review
Section titled “Common Failure 1 — Testing Before Policy Review”Incorrect:
Join Program ↓Run Recon ↓Read Rules LaterCorrect:
Policy ↓Scope ↓Rules ↓ReconCommon Failure 2 — Scope by Ownership
Section titled “Common Failure 2 — Scope by Ownership”Do not assume:
Organization Owns It =Program Authorizes ItProgram authorization is the deciding factor.
Common Failure 3 — Scope by Association
Section titled “Common Failure 3 — Scope by Association”Do not assume:
Application Uses It =It Is In ScopeThis is especially important for:
Payments
Analytics
Cloud
Authentication ProvidersCommon Failure 4 — Wildcard Overreach
Section titled “Common Failure 4 — Wildcard Overreach”Do not turn:
*.example.cominto:
All Company InfrastructureCommon Failure 5 — Ignoring Testing Restrictions
Section titled “Common Failure 5 — Ignoring Testing Restrictions”An in-scope asset does not mean every technique is permitted.
Example:
api.example.commay be in scope while:
DoS Testingremains prohibited.
Common Failure 6 — Unlimited Automation
Section titled “Common Failure 6 — Unlimited Automation”Do not interpret:
Automation Allowedas:
UnlimitedTrafficCommon Failure 7 — Testing Unknown Assets
Section titled “Common Failure 7 — Testing Unknown Assets”Use:
Unknownas a legitimate status.
Unknown means:
Stopnot:
Probably SafeCommon Failure 8 — Ignoring Customer Data Rules
Section titled “Common Failure 8 — Ignoring Customer Data Rules”A confirmed vulnerability does not justify:
Mass Data AccessUse controlled evidence wherever possible.
Operational Principle
Section titled “Operational Principle”The most important principle in this runbook is:
Authorization ↓Scope ↓Method ↓TestingNever reverse that sequence.
Professional Workflow
Section titled “Professional Workflow”Your operating model should be:
Program Intake ↓Policy Review ↓Scope Validation ↓Third-Party Review ↓Restriction Review ↓Automation Configuration ↓Data Handling Controls ↓Asset Classification ↓Target Prioritization ↓Authorization Gate ↓ReconnaissanceKey Takeaways
Section titled “Key Takeaways”Remember:
Owned ≠In ScopeRelated ≠AuthorizedWildcard ≠UnlimitedReferenced ≠TargetAutomation Allowed ≠Unlimited AutomationIn-Scope Asset ≠Every Technique AllowedSafe Harbor ≠No BoundariesThe first responsibility of a professional Bug Bounty Hunter is not:
Find a BugIt is:
Know theAuthorization BoundaryRunbook Output
Section titled “Runbook Output”At completion, archive or update:
01 Program_Profile.md
02 Scope_Register.csv
03 Exclusion_Register.csv
04 Testing_Restrictions.md
05 Third_Party_Register.csv
06 Scope_Decision_Log.md
07 Target_Priority_Matrix.csv
08 Scope_Snapshot.mdHandoff to Next Runbook
Section titled “Handoff to Next Runbook”Once the authorization gate passes:
Program ↓Scope ↓Restrictions ↓Priority ↓Authorized to Proceedmove to:
Next Runbook
Section titled “Next Runbook”➡️ Runbook 02 — Reconnaissance and Attack Surface Discovery
The next runbook will operationalize:
Scope-Aware Asset Discovery
Subdomain Collection
DNS Validation
HTTP Validation
Technology Mapping
API Discovery
JavaScript Recon
Cloud Signal Analysis
Third-Party Separation
Attack Surface PrioritizationThe transition is:
Runbook 01Program Intakeand Scope Validation
↓
Runbook 02Reconnaissanceand Attack Surface Discovery➡️ Next: Runbook 02 — Reconnaissance and Attack Surface Discovery