事件總覽:從二月下旬開始,開源專案 LiteLLM 遭受一連串的供應鏈攻擊,駭客利用漏洞掃描工具 Trivy 的配置錯誤,成功竊取高權限憑證,進而植入惡意程式碼,導致數百萬用戶面臨敏感資訊外洩的風險。
📅 2月下旬:攻擊行動悄然啟動
這場數位風暴的序章,其實早在今年 2 月下旬就已悄然拉開。根據 Aqua Security 團隊的調查,攻擊者「TeamPCP」精準鎖定並利用了 Trivy 在 GitHub Actions 環境中的一個配置錯誤。你可能會想,一個掃描工具的配置錯誤能有多大的殺傷力?有趣的是,這正是駭客的巧妙之處,他們透過這個看似微小的破綻,成功竊取了一個擁有高權限的存取憑證,為後續操控 CI/CD 流程埋下伏筆。
這起事件再次提醒我們,即使是看似無害的工具,其設定上的任何疏忽,都可能成為供應鏈攻擊的致命缺口。畢竟,在環環相扣的開發流程中,任何一個環節的薄弱,都可能牽一髮而動全身,將整個系統暴露於危險之中。
📅 3月19日:Trivy 遭破壞,惡意版本現蹤
時間來到 3 月 19 日,攻擊者利用先前竊取的憑證,向 PyPI(Python Package Index)發布了 Trivy 的惡意版本 v0.69.4。這可不是普通的版本更新,而是被植入惡意程式碼的「特洛伊木馬」。值得注意的是,許多專案的 CI/CD 管道在更新時,習慣依賴版本標籤而非固定的提交,這讓攻擊者有機可乘。他們巧妙地修改了與 trivy-action(GitHub Action 腳本)相關的版本標籤,將惡意程式碼無聲無息地注入到組織正在執行的工作流程中,使得這些流程在底層程式碼已被更動的情況下,依然持續運作且毫無異常跡象。這簡直就像在你的水管裡注入了毒藥,而你卻渾然不覺。
📅 3月22日:惡意蔓延至 DockerHub
僅僅三天後,也就是 3 月 22 日,攻擊者的行動進一步升級。他們將 Trivy 的惡意版本 v0.69.5 與 v0.69.6 以 DockerHub 映像的形式發布。這代表惡意程式碼的傳播途徑變得更加多元,潛在受害者範圍也隨之擴大。想想看,有多少開發者會從 DockerHub 拉取映像檔來部署應用程式?一旦拉取到這些被污染的版本,其環境中的敏感憑證,如 SSH 金鑰、AWS/GCP/Azure 憑證、Kubernetes 配置、Git 憑證,甚至加密貨幣錢包等,都可能面臨被竊取的風險。這無疑是一場數位世界的「大撒網」行動。
📅 3月24日:LiteLLM 核心憑證遭竊與下架
這場供應鏈攻擊的影響,最終波及到每月下載量高達 9,700 萬次的開源介面 LiteLLM。維護 LiteLLM 的 Berri AI 執行長 Krrish Dholakia 證實,LiteLLM 的 PYPI_PUBLISH 憑證在 Trivy 遭入侵時被攻擊者取得,並被用來推送新的 LiteLLM 程式碼。隨後,LiteLLM 的 v1.82.7 與 v1.82.8 兩個惡意版本被發現植入了竊取憑證的程式碼,並已從 PyPI 下架。OpenAI 共同創辦人 Andrej Karpathy 也在 3 月 24 日透過社群平台關注這起事件,強調其嚴重性。
Python Packaging Authority(PyPA)也針對 LiteLLM 事件發出安全公告,明確建議:「任何曾安裝並執行專案的人,應假設 LiteLLM 環境中可取得的所有憑證可能已遭洩露,應立即進行撤銷或輪替處理。」這代表著一場大規模的憑證重置行動勢在必行,其影響範圍之廣,不容小覷。
至今影響與未來展望
這起針對 LiteLLM 的供應鏈攻擊,不僅凸顯了開源生態系在安全性上的脆弱點,也為所有開發者和企業敲響了警鐘。憑證管理不再是單純的技術細節,而是關乎整個數位資產安危的戰略議題。Berri AI 執行長 Krrish Dholakia 表示,他們已刪除所有 PyPI 發布憑證,並正在檢視帳戶安全性,考慮如何進一步強化,例如導入 JWT 憑證的可信發布機制或改用不同的 PyPI 帳戶。這些措施正是為了防止類似的供應鏈攻擊再次發生。
從這起事件中,我們學到的是,單純的雙重驗證並不足以完全防堵風險,憑證本身的安全性與管理流程同樣關鍵。未來,業界勢必會更加重視 CI/CD 流程的端到端安全,從源碼掃描、憑證管理到發布機制,都需要更嚴謹的審視與強化,才能在這場永無止境的網路攻防戰中,築起更堅固的防線。