实现示例type Advisory = { cve: string; cvss: number; epss: number } type Policy = { wCvss: number; wEpss: number; block: number; warn: number } function validCvss(s: number): boolean { return s >= 0 && s <= 10 && Number.isFinite(s) } function validEpss(p: number): boolean { return p >= 0 && p <= 1 && Number.isFinite(p) } function score(a: Advisory, p: Policy): number { return a.cvss * p.wCvss + a.epss * 10 * p.wEpss } function evaluate(list: Advisory[], p: Policy): { blocked: Advisory[]; warned: Advisory[]; passed: Advisory[] } { const blocked: Advisory[] = [] const warned: Advisory[] = [] const passed: Advisory[] = [] for (const a of list) { if (!validCvss(a.cvss) || !validEpss(a.epss)) { blocked.push(a); continue } const s = score(a, p) if (s >= p.block) blocked.push(a) else if (s >= p.warn) warned.push(a) else passed.push(a) } return { blocked, warned, passed } } 审计与CI门禁记录风险分与决策;阻断项直接失败;警告项进入灰度窗口处置。权重与阈值变更需审批并回归验证。

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论
立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部
1.528441s