UNPKG

agentsqripts

Version:

Comprehensive static code analysis toolkit for identifying technical debt, security vulnerabilities, performance issues, and code quality problems

35 lines (29 loc) 914 B
/** * @file Risk level calculator * @description Calculates overall risk level based on vulnerabilities */ /** * Calculates overall risk level based on vulnerabilities * @param {Array<Object>} vulnerabilities - List of vulnerabilities * @returns {string} Risk level (LOW, MEDIUM, HIGH, CRITICAL) */ function calculateRiskLevel(vulnerabilities) { if (vulnerabilities.length === 0) return 'LOW'; const severityCounts = { CRITICAL: 0, HIGH: 0, MEDIUM: 0, LOW: 0 }; vulnerabilities.forEach(vuln => { severityCounts[vuln.severity] = (severityCounts[vuln.severity] || 0) + 1; }); if (severityCounts.CRITICAL > 0) return 'CRITICAL'; if (severityCounts.HIGH >= 3) return 'HIGH'; if (severityCounts.HIGH >= 1 || severityCounts.MEDIUM >= 5) return 'HIGH'; if (severityCounts.MEDIUM >= 1) return 'MEDIUM'; return 'LOW'; } module.exports = { calculateRiskLevel };