Bug bounty program management and security disclosure expertise for smart contracts. Covers program setup on Immunefi, vulnerability triage, responsible disclosure coordination, bounty payments, and post-disclosure analysis.
Bug bounty program management and security disclosure expertise for smart contracts. Covers program setup on Immunefi, vulnerability triage, responsible disclosure coordination, bounty payments, and post-disclosure analysis.
program:name:"Protocol Name"website:"https://protocol.xyz"assets:smart_contracts:-type:"Smart Contract"target:"0x..."severity:"Critical"websites:-type:"Web Application"target:"https://app.protocol.xyz"severity:"High"severity_levels:critical:range:"$100,000 - $1,000,000"description:"Direct theft of funds, permanent freezing"high:range:"$10,000 - $100,000"description:"Theft requiring user action, temporary freezing"medium:range:"$1,000 - $10,000"description:"Griefing, DoS with medium impact"low:range:"$100 - $1,000"description:"Minor issues, informational"exclusions:-"Issues in test files"-"Third-party dependencies"-"Issues requiring admin key compromise"-"Front-running issues without significant impact"
Severity Classification
Severity
Impact
Examples
Critical
Direct fund loss, protocol takeover
Reentrancy draining funds, access control bypass
High
Significant fund loss, protocol disruption
Oracle manipulation, flash loan attacks
Medium
Limited fund loss, degraded functionality
Griefing attacks, minor calculation errors
Low
No fund loss, minor issues
Gas inefficiency, informational findings
Vulnerability Triage Workflow
1. Initial Assessment
## Triage Checklist- [ ] Report is within program scope
- [ ] Vulnerability is reproducible
- [ ] Impact assessment is accurate
- [ ] No duplicate of existing report
- [ ] Not a known issue or design decision
## Initial Classification
| Field | Value |
|-------|-------|
| Report ID | BB-2024-XXX |
| Submission Date | YYYY-MM-DD |
| Reporter | @handle |
| Asset Affected | Contract/URL |
| Initial Severity | Critical/High/Medium/Low |
| Status | Triaging |
2. Validation Process
# Clone and setup test environment
git clone <protocol-repo>
cd protocol
# Create PoC test
forge test --match-test test_VulnerabilityPoC -vvvv
# Run against mainnet fork
forge test --fork-url $MAINNET_RPC --match-test test_VulnerabilityPoC
3. Severity Adjustment
Consider:
Likelihood: How likely is exploitation?
Impact: What is the maximum damage?
Complexity: What resources are needed?
User Interaction: Does it require victim action?
Final Severity = Base Impact - Mitigating Factors + Aggravating Factors
Responsible Disclosure Process
Timeline
Day 0: Report received
Day 1-3: Initial triage and acknowledgment
Day 3-7: Validation and severity confirmation
Day 7-14: Fix development
Day 14-21: Fix review and testing
Day 21-30: Coordinated disclosure preparation
Day 30+: Public disclosure (if agreed)
Communication Templates
Acknowledgment:
Subject: [BB-XXXX] Report Acknowledged
Dear Security Researcher,
Thank you for your submission to our bug bounty program. We have received
your report and assigned it reference number BB-XXXX.
Our security team is currently reviewing your submission. We will provide
an initial assessment within 3 business days.
Timeline:
- Initial response: 24-72 hours
- Severity assessment: 3-7 days
- Fix timeline: TBD based on severity
Best regards,
Security Team
Severity Confirmation:
Subject: [BB-XXXX] Severity Assessment Complete
Dear Security Researcher,
After thorough review, we have assessed your vulnerability report:
Severity: [CRITICAL/HIGH/MEDIUM/LOW]
Bounty Range: $X - $Y
Fix Timeline: X days
[Details of assessment]
Next Steps:
1. Fix development (ETA: X days)
2. Fix verification with your input
3. Coordinated disclosure discussion
Best regards,
Security Team
Bounty Calculation
Factors
const bountyCalculation = {
baseBounty: getSeverityBase(severity), // Based on tieradjustments: {
qualityOfReport: 1.0 - 1.5, // Well-documented PoCimpactAccuracy: 0.8 - 1.2, // Accurate impact assessmentfirstReporter: 1.0, // First to reportduplicatePartial: 0.0 - 0.5, // Partial duplicateresponsibleBehavior: 1.0 - 1.2// No public disclosure
},
calculate() {
returnthis.baseBounty *
this.adjustments.qualityOfReport *
this.adjustments.impactAccuracy *
this.adjustments.responsibleBehavior;
}
};
Payment Process
Verify Identity: KYC requirements for large bounties