[研究]OWASP Dependency-Track (DT) 與 Mend(原 WhiteSource)實際掃描結果比較(一)
2025-08-13
這是同一個專案
OWASP Dependency-Track (DT) 畫面
註解:Attributed On 欄位的日期代表的是:該漏洞(Vulnerability)或安全資訊 被正式歸因(attributed)給該元件或套件的日期,是 Dependency-Track 從漏洞資料來源(Vulnerability Source)抓回來的日期。
**********
Mend(原 WhiteSource)畫面
某 ASP.NET WebForm 專案,OWASP Dependency-Track (DT) 列出了有弱點的元件資訊
System.Security.Cryptography.X509Certificates 4.3.2 CVE-2024-0057
bootstrap 3.4.1 NVD CVE-2024-6484
bootstrap 3.4.1 NVD CVE-2024-6485
bootstrap 3.4.1 NVD CVE-2024-6531
RestSharp 106.15.0 NVD CVE-2024-45302
vue 2.6.11 NVD CVE-2024-9506
bootstrap 3.4.1 NVD CVE-2025-1647
System.Text.Json 9.0.8 NVD CVE-2024-43485
Mend 列出了有弱點的元件資訊
vue-2.6.11.min.js CVE-2024-9506 CVE-2024-6783
vue-2.5.21.js CVE-2024-9506
vue-2.5.21.min.js CVE-2024-9506
vue-2.6.11.js CVE-2024-9506 CVE-2024-6783
sixlabors.imagesharp.2.1.8.nupkg CVE-2025-27598 CVE-2025-54575 CVE-2024-41131 CVE-2024-41132
為何掃出的套件有差異?
ChatGPT 說:
你看到 OWASP Dependency-Track (DT) 和 Mend 掃描結果不一致,主要是因為兩者的元件識別方式、掃描範圍、資料來源、版本解析邏輯都有差異。
我幫你拆成幾個關鍵原因來看:
1. 識別方式不同
- DT
主要透過 SBOM(Software Bill of Materials)或套件管理檔案(例如 .csproj、packages.config、package-lock.json)中宣告的套件名稱與版本,依照套件層級(NuGet package、NPM package、JAR、Docker image 等)來比對漏洞資料庫。
- Mend
除了讀取套件管理檔案,也會直接掃描實際檔案內容(如 .js、.dll、.min.js、.nupkg)並用檔案指紋(hash / signature)去匹配漏洞資料庫。
→ 所以 Mend 才會報 vue-2.6.11.min.js 與 vue-2.5.21.js 這種單獨的檔案名稱,而 DT 則是只看到 vue 2.6.11 這個 package。
2. 掃描範圍不同
- DT 偏向「專案依賴」層面,通常看你宣告安裝的**直接依賴(direct dependencies)**與已解析出的間接依賴(transitive dependencies)。
- Mend 除了直接與間接依賴,也會去掃描:
- 壓縮檔內的第三方資源(如 .nupkg 內嵌的 DLL/JS)
- wwwroot、Scripts 資料夾中的第三方前端庫
- 未透過套件管理器安裝的手動引用檔案(vendor code)
3. 漏洞資料來源不同
- DT 常用的來源:
- NVD(National Vulnerability Database)
- GitHub Security Advisories
- Sonatype OSS Index(視設定而定)
- Mend 的來源更混合:
- NVD
- Mend 自家的漏洞資料庫(從各種 GitHub issue、專案 changelog、研究報告匯入)
- 其他公開與商業威脅情報
- 因此可能會掃到 NVD 尚未收錄的 CVE(例如 CVE-2024-6783)
4. 版本與比對演算法不同
- 有些漏洞是針對特定版本範圍發佈的,但不同掃描工具在版本正則判斷上會有落差
→ 可能 DT 判斷你的版本不在漏洞範圍,但 Mend 的匹配規則比較寬鬆,於是報出來。 - 反之,也可能 Mend 的 signature 沒對到你的檔案版本,於是沒報。
5. 更新頻率不同
- 漏洞資料庫更新頻率不同會影響掃描結果。
有些 CVE 發布初期,NVD 還沒「enrich」(補充詳細描述與受影響版本),DT 可能就暫時沒有資訊,而 Mend 可能已經自行補齊。
💡 簡單比喻
- DT 比較像「看你說你家買了哪些電器,去查電器型號有沒有瑕疵」;
- Mend 像是「直接進你家,數你有幾台電器,連朋友送你的、二手的、沒登記的都找出來比對」。
********************************************************************************
(完)



沒有留言:
張貼留言