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
JavaScript
/**
* @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
};