Overview
The Risk Engine module (modules/risk_engine.py) performs comprehensive risk assessment by analyzing port exposure, vulnerabilities, CVE data, and exploitability. It calculates risk scores using CVSS methodology and generates prioritized remediation recommendations.
RiskEngine Class
Defined atrisk_engine.py:10, this class implements multi-factor risk scoring.
Initialization
risk_engine.py:11-26
- CRITICAL: 10 points (immediate action required)
- HIGH: 7 points (fix within 30 days)
- MEDIUM: 4 points (fix within 90 days)
- LOW: 2 points (fix when convenient)
- UNKNOWN: 1 point (informational)
CVSS Risk Calculation
calculate_cvss_risk()
Converts CVSS scores to standardized risk levels.risk_engine.py:28-39
Port-Level Risk Assessment
calculate_port_risk()
Calculates risk score for individual ports based on multiple factors.risk_engine.py:41-94
Port Exposure
Port Exposure
Well-known ports (< 1024) add +1 base risk due to higher visibility and targeting.
Sensitive Services
Sensitive Services
Services like FTP, Telnet, RDP, SMB add +2 risk due to common exploitation and credential attacks.
Vulnerability Severity
Vulnerability Severity
Each vulnerability adds its severity score (CRITICAL=10, HIGH=7, MEDIUM=4, LOW=2).
Exploitability
Exploitability
Exploitable vulnerabilities multiply the risk score by 1.5 (50% increase).
CVE Presence
CVE Presence
CVEs add half their CVSS score to the risk. CVEs with public exploits multiply by 1.3 (30% increase).
System-Wide Risk Assessment
calculate_overall_risk()
Aggregates all risk factors to determine overall system risk.risk_engine.py:96-150
Risk Severity Weights
Different vulnerability types have different severity multipliers:Prioritized Recommendations
generate_recommendations()
Generates actionable remediation recommendations based on risk assessment.risk_engine.py:165-195
- Critical Priority
- High Priority
- Medium Priority
- Low Priority
- Patch critical vulnerabilities (CVSS >= 9.0)
- Fix SQL injection vulnerabilities
- Address remote code execution flaws
Usage Example
Output Format
Risk Scoring Formula
The final risk score is calculated using:SQL injection vulnerabilities automatically elevate the overall risk to at least HIGH, regardless of other factors.
Related Documentation
CVE Lookup
How CVE data feeds into risk calculation
Vulnerability Scanner
Web vulnerability detection
PDF Reports
Risk assessment in generated reports
Workflow
Phase 5: Risk assessment in the workflow