Dependabot 惡意套件警示擴到 PyPI:Python 專案點樣開同點樣處理
Tech News

Dependabot 惡意套件警示擴到 PyPI:Python 專案點樣開同點樣處理

圖片:via iThome — https://www.ithome.com.tw/news/177730
TechLab 編輯部(譯)·

OpenSSF 名單接入 GitHub,已開功能嘅 repo 會自動用新資料

iThome 報道,GitHub 開始將 OpenSSF malicious-packages 專案收集嘅資料,自動匯入 GitHub Advisory Database。Dependabot 嘅惡意套件警示亦由原先主力睇 npm,擴到 PyPI 同其他套件生態。對 Python 團隊嚟講,實際好處係原有 GitHub repo 多咗一層已知惡意依賴檢查,唔使另外裝工具都會收到警示。

今次加嘅其實係情報來源

OpenSSF 呢個專案用 OSV 格式整理公開套件庫入面嘅惡意套件報告,涵蓋冒認熱門套件名、維護者帳戶失守、dependency confusion 同夾帶惡意程式嘅預先編譯檔案等情況。GitHub 而家會將呢批資料放入自己嘅安全公告資料庫,再由 Dependabot 對照 repo 預設分支所記錄嘅套件名稱同版本;已經開咗 Malware alerts 嘅 repo 會自動用到新資料。

呢度有個文件更新時差要講清楚:GitHub 部分概念頁面暫時仍寫 Malware alerts 只支援 npm,但 2026 年 7 月 28 日嘅官方 Changelog 已明確寫到 npm、PyPI 同其他生態,今次應以最新公告為準。GitHub 暫時冇逐項列晒所有新增套件庫,而送到 OpenSSF 嘅報告亦唔代表即刻出警示;官方文件話,只有 GitHub review 過嘅公告先會觸發 Dependabot。

GitHub Dependabot 警示頁面,畫面顯示已關閉警示嘅篩選位置

圖片:GitHub Docs

邊類 Python repo 最直接受惠

GitHub 嘅 dependency graph 可辨認 requirements.txtPipfile.lockPipfilesetup.py,亦支援 Poetry 嘅 poetry.lockpyproject.toml。即係有認真提交 manifest 或 lock file、版本記錄又跟得貼嘅 Python repo,Dependabot 先容易準確對中。只喺部署 script 臨時 pip install、冇鎖版本,或者依賴檔長期冇更新,警示覆蓋自然會打折;封存咗嘅 repo 亦唔會收到呢類警示。

Malware alerts 要另外開

呢項保護屬於 opt-in,開咗一般 Dependabot alerts 唔代表 Malware alerts 已經自動啟用。repo 管理員可入 Settings,喺側欄揀 Advanced Security,先啟用 Dependabot alerts,跟住再開 Dependabot malware alerts。公司有大量 repo,就可以用 organization 或 enterprise 嘅 custom security configuration 一次過套用,避免逐個專案檢查。

開好之後,可喺 repo 嘅 Security and quality 分頁,經 Findings 入面嘅 Dependabot 選單打開 Malware。新警示會列出受影響檔案、套件名、版本範圍、可用嘅修正版本同處理建議。GitHub 只會對預設分支產生呢類警示,所以未合併嘅實驗分支同本機環境,仍要靠 code review、CI 檢查同套件管理政策補位。

收到警示,先查來源再刪依賴

第一步係對清楚警示入面嘅套件名稱、版本同受影響檔案,再翻查 lock file、build 紀錄同套件來源,確認實際裝到嘅係 PyPI 公開版本,定公司私有 registry 嘅同名套件。GitHub 文件承認,內部套件如果同公開惡意套件撞名兼撞版本,可能會誤報。確認係呢種情況,可以寫低證據同原因再 dismiss,唔好一見紅色通知就直接刪公司內部依賴。

如果機器或 CI 真係裝過涉事公開版本,就應先停用相關 build 或部署,按警示建議換走套件,再重新產生 lock file,之後用乾淨嘅 virtual environment 或 container 重建。套件曾經執行過,就要當安全事故跟進:檢查佢接觸到嘅環境變數、API key、GitHub token 同雲端憑證,視乎權限輪換秘密資料,再翻查 CI 紀錄同異常連線。處理完先提交更新、重跑測試同確認警示關閉,會穩陣過一開始就 dismiss。

多一層提示,唔等於全面掃毒

Dependabot 今次仍然係用已知名單對照依賴資料,唔會分析每個 PyPI 套件嘅實際行為,亦捉唔到未曝光、未入庫或者未經 GitHub review 嘅攻擊。OpenSSF 自己亦承認資料偶爾可能有 false positive。Python 團隊值得開啟呢項功能,但 lock file、私有 registry 設定、最小權限憑證、乾淨重建環境同依賴審核,仍然要照做。


參考來源

本文根據原文及公開資料整理;資料有出入時,以原文及官方資料為準。

分享:WhatsAppThreadsTelegramFacebook