[研究]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 查詢
- 而是使用 DT 已同步到本機資料庫的弱點資訊
- 弱點資料會依設定定期更新(例如每小時、每天等)
為什麼相同專案結果會變化?
即使原始碼完全沒改,也可能出現:
1. 新 CVE 公布
例如:
|
專案沒變,但弱點資料庫變了。
2. CPE 比對規則修正
NVD 或 DT 的 Matching 規則可能更新。
例如原本:
|
後來:
|
3. CVSS 分數變動
某 CVE 可能被重新評分:
|
掃描結果的風險等級就會改變。
4. GHSA / OSS Index 新增 Advisory
有些弱點先出現在 GHSA:
|
甚至 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 個,這都屬於正常現象。
(完)
沒有留言:
張貼留言