Skip to main content

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 at risk_engine.py:10, this class implements multi-factor risk scoring.

Initialization

risk_engine.py:11-26
Risk Score Mapping:
  • 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
Risk Calculation Factors:
Well-known ports (< 1024) add +1 base risk due to higher visibility and targeting.
Services like FTP, Telnet, RDP, SMB add +2 risk due to common exploitation and credential attacks.
Each vulnerability adds its severity score (CRITICAL=10, HIGH=7, MEDIUM=4, LOW=2).
Exploitable vulnerabilities multiply the risk score by 1.5 (50% increase).
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
Recommendation Categories:
  • Patch critical vulnerabilities (CVSS >= 9.0)
  • Fix SQL injection vulnerabilities
  • Address remote code execution flaws
Timeline: Immediate (within 24-48 hours)

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.

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