LiteLLM 1.107.0 被植入惡意程式,PyPI 上架約兩小時
據 LiteLLM 10 月 21 日發表的事故報告,攻擊者入侵其發布流程,把含惡意程式的 1.107.0 版推上 Python 套件庫 PyPI 及 Docker 映像庫。LiteLLM 是開源的 AI 閘道函式庫,讓開發者以同一套介面調用 OpenAI、Anthropic 等數十家大型語言模型供應商;據 Datadog Security Labs 統計,每周下載量約 2,300 萬次。惡意版本在 PyPI 上架的時間為香港時間 10 月 21 日晚上 7 時 39 分至 9 時 23 分;Docker 的 latest、main-latest 及 main-stable 等標籤則由晚上 7 時 46 分起指向受感染映像,至 10 時 20 分才全部移除或改指乾淨版本。
LiteLLM 表示,之前所有版本均安全,使用私人企業版的客戶亦不受影響。這是 LiteLLM 今年第二次遭供應鏈攻擊,即攻擊者入侵軟件的發布渠道,令用戶在下載官方更新時中招。據 Datadog 報道,3 月時 1.82.7 及 1.82.8 兩個版本亦曾被植入惡意程式,暫未發現兩宗事件有關連。

惡意程式在每次啟動 Python 時執行
據 Datadog 分析,惡意版本在用戶的 Python 環境加入 cook.pth、cook.py 及 sitecustomize.py 三個檔案。Python 每次啟動都會自動執行這類檔案,所以即使程式從未載入 LiteLLM,同一環境內任何 Python 程序都會觸發惡意程式,單單刪除套件目錄亦無法清除。
類別 | 被盜取的資料 |
|---|---|
雲端 | AWS、GCP、Azure 憑證,以及 Kubernetes、Docker、Vault、Terraform 密鑰 |
開發者 | SSH、GPG、TLS 金鑰,Git、npm、PyPI 權杖,以及 shell 指令紀錄 |
AI 工具 | 大型語言模型 API 金鑰,以及 Claude、Codex、Gemini、Cursor、Copilot 等 AI 編程工具的登入資料 |
瀏覽器 | 已儲存的密碼及 cookie |
LiteLLM 資料庫 | 代理伺服器儲存的上游供應商憑證 |
資料經 AES-256 及 RSA-4096 加密後,傳送到一個仿冒 LiteLLM 的網域。sitecustomize.py 則是後門,每小時檢查一次 GitHub 上的指定檔案,取得網域後下載並執行遠端程式碼。Datadog 指,該檔案至今只有測試數值,未發現第二階段的攻擊程式。
攻擊者用三名工程師的 GitHub 權杖改寫發布流程
LiteLLM 表示,3 月事件後團隊已把發布流程移到私人儲存庫,並限定只有一部長期放在辦公室內的手提電腦可以發布。不過團隊周一(19 日)臨時擴大發布權限,讓兩名內部工程師每日為客戶發布修補程式。攻擊者取得三名工程師的 GitHub CLI 登入權杖,其中一個屬於 GitHub 組織擁有人,攻擊者用它關閉分支保護並強行推送修改,令發布流程改由仿冒儲存庫 Berri-AI/litellm 建置。正版儲存庫名為 BerriAI/litellm,兩者只差一個連字號。第二個帳戶隨後批准正式發布,第三個帳戶則刪除工作流程紀錄,令調查可用的日誌減少。
LiteLLM 稱權杖經 Claude Code 的回應外洩
LiteLLM 稱,調查發現在特定情況下,Anthropic 的 AI 編程工具 Claude Code 會把用戶的 GitHub CLI 登入權杖嵌入回應內容;若回應內容被記錄,權杖便會出現在 LiteLLM 的日誌之中。團隊又在公司一個對外開放的內部 LiteLLM 部署中,發現一個名稱不起眼的可疑帳戶,相信攻擊者由此進入,再從日誌取得權杖。團隊表示,暫未確認攻擊者如何進入該部署,懷疑是利用一個近期才修補的漏洞,調查仍在進行。
LiteLLM 建議受影響用戶先在 shell 刪除惡意檔案,不要先執行 pip install,因為任何 Python 啟動都會再次觸發惡意程式;之後重新安裝 1.106.2 版,並更換主機可接觸的所有密鑰。




暫時未有留言
提交留言即表示你已閱讀我們的私隱政策。