Skip to content

✏️ 完整性 (I) ​

🟦 基础指标 · 📐 影响子分

定义 ​

完整性 (I) 衡量受影响组件内完整性的损失程度——攻击者修改数据的能力及该修改的严重性。它与机密性、可用性同为构成影响 (Impact) 子分的三项 CIA 指标之一。

取值 ​

短值长值分数描述
HHigh0.56完整性完全丧失,或完全失去保护(如攻击者可修改受影响组件保护的任意/全部文件)。
LLow0.22数据可被修改,但攻击者控制有限或修改非直接严重。
NNone0.00受影响组件内无完整性损失。

分数取自 pkg/vector/integrity.go。

分数映射 ​

C、I、A 三个指标分数刻度相同(H=0.56、L=0.22、N=0.00)。它们汇入 ISC(影响)子分:取值越高影响越大。完全损失(H)影响最大;无损失(N)不计。

评分影响 ​

I 喂入影响子分。三者按 Impact = 1 − (1 − C) × (1 − I) × (1 − A) 合并。仅 I 有影响时,I:H 得影响 0.56,I:L 得 0.22,I:N 得 0。

示例 ​

将 C、A 设为 None 以单独观察 I:

bash
cvss score "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N"  # I:High
cvss score "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N"  # I:Low
cvss score "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:N"  # I:None
text
7.5 (High)     # I:H
5.3 (Medium)   # I:L
0.0 (None)     # I:N

Go SDK:

go
package main

import (
    "fmt"

    "github.com/scagogogo/cvss-skills/pkg/vector"
)

func main() {
    h, _ := vector.GetIntegrity('H')
    l, _ := vector.GetIntegrity('L')
    n, _ := vector.GetIntegrity('N')
    fmt.Printf("I:H=%.2f  I:L=%.2f  I:N=%.2f\n", h.GetScore(), l.GetScore(), n.GetScore())
}

源码位置 ​

pkg/vector/integrity.go — 定义 IntegrityHigh (0.56)、IntegrityLow (0.22)、IntegrityNone (0),以及 MI 修改后变体。

相关 ​

基于 MIT 许可证发布。