2026年6月5日 星期五

[研究]OWASP Dependency Track (DT) 元件弱點掃描工具結果是否不固定

[研究]OWASP Dependency Track (DT) 元件弱點掃描工具結果是否不固定

2026-06-05

OWASP Dependency Track (DT) 元件弱點掃描工具,掃描時會即時自某些平台抓取元件弱點資訊 ? 或定時自某些平台抓取元件弱點資訊 ? 所以相同 原始碼專案,不同時間掃描結果可能不固定?

*****

是的,OWASP Dependency-Track(DT)對同一套原始碼、同一份 BOM(SBOM),在不同時間掃描,結果可能不同,這是正常現象。

Dependency-Track 本身不會在每次掃描時即時到各弱點平台查詢,而是透過背景工作(Background Tasks)定期同步弱點資料庫,之後再將已同步的弱點資料與您的元件進行比對。

DT 主要弱點來源

常見來源包括:

  • National Vulnerability Database(NVD)
  • GitHub Security Advisories(GHSA)
  • Sonatype OSS Index
  • VulnDB(商業資料庫)
  • 其他生態系專屬 Advisory Database

DT 的運作方式

一般流程:


NVD / GHSA / OSS Index ↓ 定期同步 ↓ Dependency-Track 內部資料庫 ↓ 比對您的 SBOM ↓ 產生弱點報告

因此:

  • 掃描時通常不會逐一連線到 NVD 查詢
  • 而是使用 DT 已同步到本機資料庫的弱點資訊
  • 弱點資料會依設定定期更新(例如每小時、每天等)


為什麼相同專案結果會變化?

即使原始碼完全沒改,也可能出現:

1. 新 CVE 公布

例如:


2026/06/01 log4j 2.20.0 沒有弱點 2026/06/05 新增 CVE-2026-xxxxx 重新分析後 出現 Critical

專案沒變,但弱點資料庫變了。


2. CPE 比對規則修正

NVD 或 DT 的 Matching 規則可能更新。

例如原本:


jackson-databind ↓ 無法對應 CPE ↓ 0 個弱點

後來:


jackson-databind ↓ 成功對應 CPE ↓ 新增 5 個 CVE


3. CVSS 分數變動

某 CVE 可能被重新評分:


High 7.5 ↓ Critical 9.8

掃描結果的風險等級就會改變。


4. GHSA / OSS Index 新增 Advisory

有些弱點先出現在 GHSA:


Day 1 無弱點 Day 7 GHSA 發布公告 DT 更新資料後 出現弱點

甚至 NVD 還沒收錄。


5. BOM 解析器升級

Dependency-Track 或 BOM Parser 升級後:

  • 識別出更多元件
  • Package URL (PURL) 解析更準確
  • CPE Mapping 改善

結果也可能增加或減少弱點。


結論

對於 Dependency-Track:

情況 掃描結果是否可能改變
原始碼相同
套件版本相同
BOM 相同
DT 弱點資料庫更新 會改變
NVD/GHSA 新增 CVE 會改變
CPE Mapping 修正 會改變
DT 升級 可能改變

因此在實務上:

Dependency-Track 的掃描結果代表「目前已知的弱點狀態」,而不是「建立 SBOM 當時的弱點狀態」。

所以同一個專案今天掃描是 10 個弱點,一個月後重新分析可能變成 15 個,也可能因誤判修正而變成 8 個,這都屬於正常現象。

(完)

沒有留言:

張貼留言