LiteLLM遭供應鏈攻擊,PyPI版惡意程式竊取憑證,逾9千萬下載面臨資安危機

開源大型語言模型介面LiteLLM近期傳出嚴重的供應鏈攻擊事件,其每月高達9,700萬次的下載量引發業界高度關注。由於遭植入竊取憑證的惡意程式碼,LiteLLM的v1.82.7與v1.82.8兩個版本已緊急從Python Package Index (PyPI) 下架,警示所有曾安裝並執行這些版本的用戶,其環境中的重要憑證恐已全面洩露,凸顯開源軟體供應鏈安全面臨的嚴峻挑戰。

攻擊事件始末與廣泛影響

這起供應鏈攻擊的惡意程式碼被發現植入於LiteLLM v1.82.7與v1.82.8版本的元件檔案litellm_init.pth中,其主要目的是竊取系統憑證。根據維護LiteLLM的Berri AI執行長Krrish Dholakia的說法,此次入侵似乎源自於專案CI/CD管道中使用的Trivy工具遭到破壞。Trivy是一款由Aqua Security維護的漏洞掃描工具,廣泛應用於許多專案的安全機制。

Aqua Security團隊指出,惡意行動從今年2月下旬開始,攻擊者利用Trivy在GitHub Actions環境中的設定錯誤,成功竊取一個具高權限的存取憑證,進而操控了CI/CD流程。攻擊者「TeamPCP」於3月19日發布了Trivy的惡意版本v0.69.4,並在隨後於3月22日以DockerHub映像形式發布了惡意版本v0.69.5與v0.69.6。OpenAI共同創辦人Andrej Karpathy於2026年3月24日發文指出,這次攻擊恐導致SSH金鑰、雲端憑證(如AWS、GCP、Azure)、Kubernetes配置、Git憑證、環境變數(包含所有API金鑰)、Shell歷史紀錄、加密貨幣錢包、SSL私鑰、CI/CD機密及資料庫憑證等關鍵資訊外洩,影響範圍甚廣。

惡意程式碼的隱蔽植入手法

攻擊者的手法不僅限於上傳惡意版本,Aqua Security團隊進一步說明:「攻擊者透過修改與trivy-action(GitHub Action腳本)相關的版本標籤,將惡意程式碼注入組織原本正在執行的工作流程中。由於許多CI/CD管道依賴版本標籤而非固定的提交版本,因此這些流程在底層程式碼已被更動的情況下,仍持續執行且毫無異常跡象。」這種隱蔽的注入方式,使得惡意程式碼得以在不知不覺中滲透到受信任的開發流程。

Krrish Dholakia證實,LiteLLM的PYPI_PUBLISH憑證被傳送到遭攻擊者控制的Trivy環境,進而遭攻擊者取得,並被用來推送新的LiteLLM程式碼至PyPI。這突顯了開發工具鏈中任何一個環節的漏洞,都可能導致整體供應鏈的安全性崩潰。

應變措施與產業安全警示

針對此次事件,Berri AI已迅速採取應變措施。Krrish Dholakia表示:「我們已刪除所有PyPI發布憑證,帳戶本身有啟用雙重驗證,因此問題出在憑證。我們正在檢視帳戶安全性,考慮如何進一步強化,例如使用JWT憑證的可信發布機制、改用不同的PyPI帳戶等。」這顯示了對現有安全機制的深刻反思與改進決心。

Python Packaging Authority (PyPA) 亦針對LiteLLM事件發出安全公告,強烈建議所有受影響的用戶立即採取行動。公告中明確指出:

「任何曾安裝並執行專案的人,應假設LiteLLM環境中可取得的所有憑證可能已遭洩露,應立即進行撤銷或輪替處理。」

為降低潛在風險,受影響的用戶應立即執行以下關鍵步驟:

  • 撤銷並輪替所有憑證:包括SSH金鑰、雲端服務(AWS、GCP、Azure)API金鑰、Kubernetes憑證、Git憑證、環境變數中儲存的API金鑰、CI/CD機密及資料庫憑證。
  • 檢查系統是否存在異常行為:特別是與外部連線或未知程式執行相關的活動。
  • 更新並監控安全工具:確保使用的所有開源工具和CI/CD流程均已更新至最新安全版本,並加強監控。

展望與影響

LiteLLM供應鏈攻擊事件再次敲響了開源軟體生態系安全的警鐘。隨著大型語言模型與AI應用的普及,作為其基礎介面的安全性顯得尤為重要。此次攻擊凸顯了CI/CD流程中第三方工具的潛在風險,以及憑證管理的重要性。未來,開發者與企業需更加重視軟體供應鏈的每一個環節,從源碼管理到部署發布,全面強化安全防護,並建立迅速響應的應變機制,以應對日益複雜且精密的網路攻擊。