| 欄位 | 內容 |
|---|---|
| 狀態 | Superseded by ADR-004(等級閾值)、ADR-005(新增 M8 權重) |
| 日期 | 2026-03-16 |
| 決策者 | CyPulse 開發團隊 |
| 影響範圍 | cypulse/scoring/ |
⚠️ 閱讀提示:本 ADR 的「等級劃分」與「權重分配」已被後續 ADR 修訂, 內文保留作為歷史決策紀錄。現行版本請見:
- 等級閾值:ADR-004「GRADES 等級閾值線性化」— A(90-100)/B(75-89)/C(60-74)/D(0-59)
- 權重:ADR-005「M8 雲端資產暴露模組設計」— M5 10%→8%、M7 5%→3%、新增 M8 4%
- 現行 source of truth:
cypulse/scoring/weights.pyWEIGHTS與GRADES常數
EASM 平台需要將七個異質維度(網站安全、IP 信譽、網路服務…)合併為單一 0-100 量化分數,同時保留各維度的可解釋性,讓資安人員能快速識別高風險面向。
採用加權扣分制:每個模組從滿分開始扣分,依風險嚴重度(critical/high/medium/low)決定扣分幅度,最後加權加總得出總分。
⚠️ 部分被 ADR-005 取代。以下為 M1-M7 原始權重,現行版本於 ADR-005 調整:M5 10%→8%、M7 5%→3%,並新增 M8 雲端資產暴露 4%。總和仍為 100%。
| 模組 | 維度 | 權重(ADR-005 後) | 滿分 | 理由 |
|---|---|---|---|---|
| M1 | 網站服務安全 | 25% | 25 | HTTP 是主要攻擊面,涵蓋 Header、TLS、Nuclei 漏洞 |
| M2 | IP 信譽 | 15% | 15 | 黑名單直接影響可信度與郵件送達率 |
| M3 | 網路服務安全 | 20% | 20 | 暴露端口是高風險入口,高於 IP 信譽 |
| M4 | DNS 安全 | 15% | 15 | DNS 劫持影響範圍廣,與 IP 信譽同級 |
| M5 | 郵件安全 | 8 | SPF/DKIM/DMARC 為釣魚/偽冒的防線 | |
| M6 | 暗網憑證外洩 | 10% | 10 | 已洩漏憑證直接可被攻擊者利用 |
| M7 | 偽冒域名偵測 | 3 | 外部行為,企業直接控制能力有限 | |
| M8 | 雲端資產暴露 | 4%(ADR-005 新增) | 4 | 雲端 bucket 公開暴露屬高頻 EASM 事件 |
權重總和:100%,滿分總和:100 分。
⚠️ 已被 ADR-004 取代。以下為原始設計,現行閾值為 A(90-100)/B(75-89)/C(60-74)/D(0-59)(見 ADR-004)。
| 等級 | 分數範圍(已被 ADR-004 取代) | 意義 |
|---|---|---|
| A | 90-100 | 良好管控 |
| B | 80-89 | 有待改善 |
| C | 70-79 | 風險偏高 |
| D | 0-69 | 嚴重暴露 |
| 方案 | 捨棄原因 |
|---|---|
| 平均分法 | 無法反映各維度攻擊面差異 |
| CVSS 映射 | 跨維度難以統一,複雜度過高 |
| 純計數法 | 不同嚴重度的 findings 無法區分 |
| 百分位排名 | 需要大量歷史資料,開源版本不可行 |
cypulse/scoring/weights.py:常數定義(WEIGHTS、GRADES、get_grade())cypulse/scoring/engine.py:計算邏輯(加權加總)- 所有分析模組
run()回傳ModuleResult,其score欄位範圍為 0 ~max_score
- D 等級範圍(0-69)過大,未來可考慮細分 D+/D-
- 等級閾值目前為固定常數,未來可考慮依產業別動態調整