Remediation Priorities
Prioritize and address security findings effectively. When BlockSecOps identifies vulnerabilities, prioritizing fixes is crucial. This guide helps you focus on...
Last updated: January 14, 2026
Remediation Priorities
Prioritize and address security findings effectively.
Overview
When BlockSecOps identifies vulnerabilities, prioritizing fixes is crucial. This guide helps you focus on what matters most.
Priority Framework
Severity + Exploitability Matrix
| Easy to Exploit | Hard to Exploit | |
|---|---|---|
| High Impact | Fix Immediately | Fix Soon |
| Low Impact | Fix Soon | Fix Later |
Priority Levels
| Priority | Action | Timeframe |
|---|---|---|
| P0 | Stop everything, fix now | Hours |
| P1 | Fix before next deploy | Days |
| P2 | Fix in current sprint | 1-2 weeks |
| P3 | Backlog | As time allows |
Priority by Severity
Critical (P0)
Always fix immediately.
Examples:
- Reentrancy in withdrawal functions
- Missing access control on admin functions
- Arbitrary external calls
- Upgrade mechanism vulnerabilities
Actions:
- Pause affected functionality if possible
- Develop and test fix
- Get emergency security review
- Deploy fix
- Post-mortem
High (P1)
Fix before any production deployment.
Examples:
- Integer overflow in calculations
- Unchecked return values on transfers
- Insecure randomness
- Privilege escalation paths
Actions:
- Assess exploitation difficulty
- Prioritize in current sprint
- Implement and test fix
- Security review before merge
- Deploy with standard process
Medium (P2)
Plan fix in near-term sprints.
Examples:
- Front-running opportunities
- Timestamp dependence
- Missing input validation
- Suboptimal access patterns
Actions:
- Add to sprint backlog
- Group with related fixes
- Standard development process
- Deploy in regular release
Low (P3)
Address as time permits.
Examples:
- Floating pragma
- Missing events
- Gas optimizations
- Code style issues
Actions:
- Add to tech debt backlog
- Address during refactoring
- Include in code cleanup sprints
- Don't delay releases for these
Contextual Factors
Increase Priority When:
| Factor | Priority Adjustment |
|---|---|
| Funds at risk | +2 levels |
| Already deployed | +1 level |
| Easy to exploit | +1 level |
| Similar exploit happened elsewhere | +1 level |
| High TVL contract | +1 level |
Decrease Priority When:
| Factor | Priority Adjustment |
|---|---|
| Not yet deployed | -1 level |
| Requires complex setup | -1 level |
| Low TVL | -1 level |
| Admin-only function | -1 level |
Triage Decision Tree
Is it Critical severity?
├─ Yes → P0: Fix immediately
└─ No → Is it High severity?
├─ Yes → Are funds at direct risk?
│ ├─ Yes → P0: Fix immediately
│ └─ No → P1: Fix before deploy
└─ No → Is it Medium severity?
├─ Yes → Is it easy to exploit?
│ ├─ Yes → P1: Fix before deploy
│ └─ No → P2: Fix in sprint
└─ No → P3: Backlog
False Positive Handling
When to Mark as False Positive
- Scanner misunderstood code intent
- External context makes it unexploitable
- Intentional design decision
- Already mitigated elsewhere
Documentation Required
Always document why:
**False Positive Justification**
Finding: Reentrancy in withdraw()
Reason: Function is protected by nonReentrant modifier
inherited from ReentrancyGuard.sol
Reviewed by: [email protected]
Date: 2025-01-15
Accepted Risk Handling
When to Accept Risk
- Fix would require major architecture change
- Risk is minimal compared to fix cost
- Mitigation exists outside contract
- Business decision with informed stakeholder
Documentation Required
**Accepted Risk Documentation**
Finding: Front-running in swap()
Severity: Medium
Risk Assessment:
- Maximum loss per transaction: <$100
- Mitigation: Slippage protection exists
Business Decision:
- Fix would delay launch by 2 weeks
- Risk accepted by: CTO, Security Lead
- Review date: 2025-06-01
Monitoring:
- Alert on large slippage events
- Monthly risk review
Remediation Workflow
1. Triage (Day 0)
- Review finding
- Verify it's valid
- Assess exploitability
- Assign priority
- Assign owner
2. Analysis (Day 1)
- Understand root cause
- Identify fix approach
- Assess fix complexity
- Check for related issues
3. Fix Development (Days 1-3)
- Implement fix
- Add regression test
- Self-review
- Update documentation
4. Review (Days 3-4)
- Peer code review
- Security review for Critical/High
- Run BlockSecOps scan on fix
5. Deployment (Day 5)
- Deploy to staging
- Integration testing
- Deploy to production
- Verify fix
6. Closure
- Mark finding as resolved
- Document resolution
- Update runbook if needed
Batch Remediation
Grouping Related Fixes
When you have multiple findings, group by:
1. Same Root Cause
- Missing access control in setFee()
- Missing access control in setAdmin()
- Missing access control in pause()
→ Fix all with AccessControl pattern
2. Same Contract
- Multiple issues in Token.sol
→ Fix together, single review cycle
3. Same Pattern
- Unchecked returns in multiple contracts
→ Apply SafeERC20 pattern across codebase
Communication
Status Updates
Keep stakeholders informed:
## Security Remediation Status - Week of Jan 15
**Summary:**
- Critical: 0 open (0 new, 0 fixed)
- High: 2 open (1 new, 3 fixed)
- Medium: 8 open (2 new, 5 fixed)
**In Progress:**
1. Token.sol - Reentrancy fix (P1, ETA: Jan 18)
2. Vault.sol - Access control (P1, ETA: Jan 17)
**Blocked:**
None
**Next Steps:**
- Complete High priority fixes by Jan 20
- Begin Medium priority sprint Jan 21
Escalation Path
| Priority | Notify | Escalate To |
|---|---|---|
| P0 | Security team, CTO | Executive team |
| P1 | Security team, Dev lead | CTO if delayed |
| P2 | Dev lead | Security team if delayed |
| P3 | None | Dev lead if accumulating |
Metrics
Track These
| Metric | Target |
|---|---|
| Mean time to remediate (Critical) | < 24 hours |
| Mean time to remediate (High) | < 1 week |
| Open Critical findings | 0 |
| Open High findings | < 5 |
| False positive rate | < 10% |
Dashboard Review
Weekly:
- Review open findings
- Check SLA compliance
- Identify blockers
Monthly:
- Trend analysis
- Process improvements
- Scanner tuning
Next Steps
- Managing Findings - Update finding status
- False Positives - Handle false positives
- Continuous Security - Ongoing processes