內文
曾安裝 litellm 1.107.0,或執行此次受污染容器的企業,請先隔離環境與保全紀錄,請勿於原環境執行 pip 更新。 惡意程式可隨 Python 啟動再次執行,即使沒有 import LiteLLM,也可能竊取 API 金鑰、雲端憑證與其他可存取的機密資料。
LiteLLM 於 10/21 確認發版管道遭入侵,將惡意程式帶入 PyPI 套件與 Docker/GHCR 映像。受影響發行物已撤下或改指乾淨來源;已下載、快取或執行的環境仍要調查,不能只看目前標籤。 原廠於 10/22 表示調查持續,一般發版暫停;先前版本與其私有企業版套件庫未受此次污染。
- 01
濫用開發者憑證
攻擊者取得可操作發版與組織設定的權限
- 02
更改建置來源
官方流程改從近似名稱的攻擊者儲存庫產出並簽署套件
- 03
套件或容器進入企業
開發機、CI Runner 或 AI 閘道器使用受污染版本
- 04
Python 啟動觸發惡意程式
蒐集並可能外傳憑證,另具持續遠端程式載入能力
官方 GitHub 的 1.107.0 原始碼標籤未含惡意檔案;只檢查該標籤,無法判斷已下載套件或容器是否受污染。
哪些版本與下載時段受影響?
以下為 2026/10/21 UTC 時間,請對齊日誌時區。僅下載映像不代表已執行惡意程式;受污染快取或映像在窗口結束後啟動 Python,仍可能觸發。
- PyPI: litellm==1.107.0 的七個 wheel,供應窗口為 11:39:51 至 13:23 UTC。
- Docker Hub: docker.io/litellm/litellm 的 v1.107.0、latest、main-latest、main-stable,於 11:46:56 至 14:20 UTC 曾指向受污染映像。
- GHCR: ghcr.io/berriai/litellm、litellm-database、litellm-non_root 的對應標籤,於 11:46:56 UTC 起受影響,最晚於 13:51 UTC 已無法取得。
- 核對實際映像: 基本版受污染 image index 為 sha256:1bbcb1443bc962e45f5aad53fe3d2c30600e0379715fb6c664cdd3ac126c339e。database 與 non_root 變體請依原廠各自紀錄核對,不共用基本版 digest。
- 原廠建議的乾淨版本: 固定使用 1.106.2,或原廠已確認的其他明確舊版本;後續版本與發版恢復狀態請追蹤原廠更新。
行動建議:從外部邊界查到內部核心
- 01
隔離並保全
停止受影響工作負載,保存程序、檔案、映像與日誌
看看能怎麼應對2項資源
TWISA 會員方案
隔離並保全
保全受影響主機、容器與建置流程紀錄,調查惡意程式、可存取的憑證及影響範圍,協助規劃復原。
- 02
避免再次觸發
不先執行 pip 或 Python,依原廠指引移除啟動載入與背景程序
查看處理指引1項資源
應對方式與指引
避免再次觸發
不先執行 pip 或 Python,依原廠指引移除啟動載入與背景程序
- 03
從乾淨來源重建
重建虛擬環境、容器及 CI Runner,固定版本與映像 digest
查看處理指引1項資源
應對方式與指引
從乾淨來源重建
重建虛擬環境、容器及 CI Runner,固定版本與映像 digest
- 04
換鑰並追查使用
在乾淨環境輪替可接觸的金鑰,調查雲端及模型帳號的異常活動
看看能怎麼應對2項資源
TWISA 會員方案
換鑰並追查使用
保全受影響主機、容器與建置流程紀錄,調查惡意程式、可存取的憑證及影響範圍,協助規劃復原。
透過管理平台、既有部署紀錄或離線檔案檢視確認版本,避免為了檢查而再次啟動受影響 Python。
已安裝者:清除、換鑰與侵害調查重點
- 先保全再清除: 依原廠步驟處理每個受影響 site-packages 中的 cook.pth、cook.py、sitecustomize.py 及相關快取,並停止持有 /tmp/remote_code_loader.lock 的背景 Python 程序。從乾淨來源重建映像與虛擬環境優先於原地重裝。
- 將外洩範圍查到核心: 原廠要求,安裝 1.107.0 且主機可對外連線時,應按外傳已成功應變。輪替該環境可接觸的模型服務 API keys、LiteLLM master/virtual keys、代理資料庫內的上游金鑰、DATABASE_URL 密碼、雲端角色憑證與環境變數中的機密。
- 保留侵害證據: 檢視 litellm-1.107.0.dist-info、cook.pth、sitecustomize.py、背景程序及 /tmp/.pc_once_* 外傳標記。容器替換與暫存清理可能移除紀錄,找不到標記不能排除曾執行或外傳。
- 追查後續用途: 關聯安裝時間、外連與雲端稽核,檢視 CloudTrail 的 GetCallerIdentity、角色憑證從企業以外位置使用,以及其他雲端與模型服務的帳號、用量與權限變更。
- 供應鏈清查: 盤點外部 AI 閘道器、內部平台、開發機、Runner、委外套件、容器與快取,要求供應商提供版本、映像 digest 及部署證據。
持續記錄套件版本、來源、映像 digest、實際工作負載及可接觸的機密
業務連線依授權放行,各層分別落實防護
- 01
套件與建置入口
PyPI、容器庫、委外映像及 CI 產物
核對來源與發版權限固定版本與 digest,分離來源修改、建置及發布權限;核對簽章背後的實際來源
- 02
執行與隔離邊界
開發機、Runner、容器與內部 AI 服務
看看能怎麼應對2項資源
TWISA 會員方案
執行與隔離邊界
保全受影響主機、容器與建置流程紀錄,調查惡意程式、可存取的憑證及影響範圍,協助規劃復原。
限制影響並保全隔離受影響工作負載,保存執行紀錄;以乾淨基底重建並限制對外連線
- 03
金鑰與核心系統
模型服務、雲端 IAM、資料庫與部署帳號
看看能怎麼應對1項資源
TWISA 會員方案
金鑰與核心系統
CyberArk集中保管與輪替受管作業系統、資料庫及部署帳密,限制開發環境長期保存高權限憑證。受影響環境可接觸的模型API金鑰另依各服務撤銷及重發。
縮小可接觸範圍採最小權限與短效憑證,分離建置與正式服務機密,完成換鑰及舊憑證失效驗證
各層日誌與流量,送往監控與應變流程
- 記錄執行與外連保留 Python 程序、檔案異動與連線來源
看看能怎麼應對3項資源
TWISA 會員方案
記錄執行與外連
在產品支援的主機偵測並阻斷惡意執行及可疑外連,隔離受影響端點。已安裝污染套件的環境先保全紀錄,再從乾淨基底重建。
- 關聯機密使用比對雲端角色、模型 API 與資料庫的異常存取
- 調查與復原追蹤保存證據、擴大影響範圍並確認乾淨部署
套件庫撤版與標籤改回,只處理供應來源;受影響端點、Runner、快取與已使用的憑證須另行確認。
- 01
測試資料先遮罩
開發與CI使用遮罩資料,移除正式資料副本
看看能怎麼應對1項資源
TWISA 會員方案
測試資料先遮罩
IBM Optim Test Data Management產生遮罩後的測試資料,減少AI開發機、Runner與測試資料庫保留的真實個資。
- 02
代理資料庫限權
稽核異常讀取,限制大量匯出與額外授權
看看能怎麼應對2項資源
TWISA 會員方案
代理資料庫限權
在產品支援的代理資料庫,以Imperva DBF/Bridge模式或IBM Guardium for Database的阻斷政策,限制異常大量讀取、額外授權與資料變更,降低套件遭污染後擴大取得資料的風險。
- 03
內外網路分隔
只放行必要模型服務與後端目的地
看看能怎麼應對1項資源
TWISA 會員方案
內外網路分隔
眾至INF系列以內網分段與連線規則隔開AI開發、代理服務與核心系統,只放行工作負載必要的網路連線。
重建後怎麼主動驗證?
- 以資產探測、部署清冊及版本比對找出漏列服務;在乾淨或重建後環境進行弱掃與設定檢查,確認未再次引入受污染套件。
- 在授權範圍安排滲透測試、API 權限測試與攻擊模擬,驗證發版來源修改權限、CI 與正式機密隔離,以及舊金鑰失效。複測快取、映像 digest、程序與外連,再恢復工作負載。
TWISA 會員方案:證物保全、侵害調查與復原
受影響環境的事件應變
保全受影響主機、容器與建置流程紀錄,調查惡意程式、可存取的憑證及影響範圍,協助規劃復原。
歡迎洽詢各會員,取得更詳細的產品與服務介紹及說明。
TWISA 會員方案:緩解風險與保護核心資料
受管帳密與特權取用
CyberArk集中保管與輪替受管作業系統、資料庫及部署帳密,限制開發環境長期保存高權限憑證。受影響環境可接觸的模型API金鑰另依各服務撤銷及重發。
惡意行為阻斷與端點隔離
在產品支援的主機偵測並阻斷惡意執行及可疑外連,隔離受影響端點。已安裝污染套件的環境先保全紀錄,再從乾淨基底重建。
AI開發與CI測試資料遮罩
IBM Optim Test Data Management產生遮罩後的測試資料,減少AI開發機、Runner與測試資料庫保留的真實個資。
代理資料庫存取控制
在產品支援的代理資料庫,以Imperva DBF/Bridge模式或IBM Guardium for Database的阻斷政策,限制異常大量讀取、額外授權與資料變更,降低套件遭污染後擴大取得資料的風險。
AI服務網段隔離
眾至INF系列以內網分段與連線規則隔開AI開發、代理服務與核心系統,只放行工作負載必要的網路連線。
通報更新日期:2026/10/24。產品支援與修補狀態以原廠最新資料為準。