新聞

GitHub擴大Dependabot惡意套件警示的資料來源,開始將OpenSSF惡意套件專案收集的惡意套件公告,自動匯入GitHub安全公告資料庫。警示範圍也從原本僅支援npm,延伸至Python套件庫PyPI等更多套件生態系。已啟用惡意套件警示的儲存庫不必調整設定,即可使用新增的資料。

Dependabot會檢查專案使用的外部軟體套件,將套件名稱與版本和安全公告資料庫比對。若開發者加入已被確認為惡意的套件,或目前使用的版本後來被列入惡意套件名單,系統便會發出警示,協助找出受影響的檔案與套件版本。

惡意套件警示和一般漏洞警示處理的問題不同,一般漏洞警示針對程式存在可被攻擊者利用的安全缺陷,而惡意套件則是有人刻意將竊取敏感資料、下載其他程式或執行未授權操作的程式碼,包裝成可供開發者下載的套件。

惡意套件攻擊可能使用與熱門套件相近的名稱,誘使開發者下載錯誤版本,也可能在原本正常的套件維護者帳號遭入侵後,發布夾帶惡意程式的新版本。另一種手法則是使用與企業內部套件相同的名稱,讓自動化工具誤從公開套件庫下載攻擊者準備的版本。

OpenSSF惡意套件專案由開源安全社群共同維護,彙整多個公開套件庫發現的惡意套件資料,並以統一格式記錄套件名稱、受影響版本及相關證據。GitHub將這些資料納入既有安全公告資料庫後,Dependabot可直接在開發者原有的相依套件管理流程中進行比對,不需要另外安裝掃描工具。

GitHub早在2022年曾透過Dependabot發送惡意套件警示,但因公有與私有套件同名造成大量誤報,隨後暫停這項功能。GitHub今年3月重新推出惡意套件警示,當時僅支援npm套件。現在更新加入OpenSSF的跨生態系資料,但GitHub尚未逐項公布所有可觸發警示的套件庫。尚未啟用功能的使用者,可在儲存庫或組織的程式碼安全性設定中開啟惡意套件警示。