跳到主要內容
Lab Grimoire
TW EN
請喝咖啡
89 秒感染十萬人——AI 時代的軟體供應鏈戰爭
AI 資安

89 秒感染十萬人——AI 時代的軟體供應鏈戰爭

本頁目錄

導讀:你每天使用的 App 背後,可能有數百個開源套件在默默運行。當攻擊者只需劫持其中一個,就能在 89 秒內將惡意程式碼注入上億台設備——而 AI Agent 正在以機器速度加速這場攻防戰。


一條毒蛇潛入百萬人的工具箱

你的手機裡有幾個 App?十個?三十個?每一個 App 的背後,都有幾十到幾百個開源套件在支撐。Axios 就是其中之一——每週超過一億次下載,幾乎每個現代網站都用到它。攻擊者劫持了維護者的帳號,植入一個惡意依賴項。這個依賴項的設計精巧到背脊發涼的程度:安裝後 89 秒內完成數據竊取,然後自我刪除,不留下任何檔案痕跡。

供應鏈攻擊路徑示意圖 圖 1:軟體供應鏈攻擊路徑——從劫持維護者帳號到惡意程式碼擴散至下游應用

安全公司 Socket 在 6 分鐘內偵測到異常——這個速度是業界平均偵測時間(267 天)的六萬三千倍。但即便如此,惡意版本仍在 npm 上存活了 3 個小時,期間被無數開發者和自動化系統拉取。

為什麼傳統工具抓不到?因為它們依賴的是「已知漏洞資料庫(CVE)」——一本記載過去犯罪手法的百科全書。但這次是全新手法,沒有歷史紀錄可比對。套件裝完就自毀,連犯罪現場都不留。像是一個小偷闖入你家,偷完東西還把門窗修好,你根本不知道有人來過。


8 天,66 個套件,5 個生態系

如果 Axios 事件是一次狙擊,TeamPCP 事件就是一場瘟疫。

攻擊者竊取了開發者的存取權杖,釋放出一隻名為 CanisterWorm 的蠕蟲。這隻數位寄生蟲具備自我複製能力,像流感病毒突破物種屏障一樣,在短短 8 天內從一個生態系跳到另一個——GitHub、Docker Hub、npm、PyPI、VS Code 擴充套件市場,五個完全不同的軟體世界全部淪陷。

CanisterWorm 跨平台擴散路徑 圖 2:CanisterWorm 蠕蟲跨五大軟體生態系的擴散路徑與區塊鏈 C2 架構

更狡猾的是什麼?CanisterWorm 的指揮控制(C2)基礎設施建在區塊鏈上。傳統安全團隊可以關閉惡意伺服器,但你能關閉一條區塊鏈嗎?不能。這就像病毒把自己的 DNA 寫進了宿主的染色體——你殺不死它,因為它已經變成系統的一部分。

這不再是一個駭客手動入侵的故事。這是自動化攻擊程式以軟體生態系為培養皿進行的大規模感染。


AI Agent:加速攻防的催化劑

現在把 AI Agent 加入這個方程式。你用 Copilot 寫程式,它建議你裝一個套件。你按下 Tab,套件就進來了。整個過程不到三秒,你甚至沒看清套件名稱。

這帶來三個層次的衝擊:

攻擊面在膨脹。 AI Agent 在幾秒鐘內做出的依賴決策,過去需要開發者花好幾分鐘手動評估。攻擊者只需在熱門套件中植入一個惡意版本,Agent 就會自動幫它傳播到無數專案。根據 Zahan 等人 2022 年的研究,npm 生態系中有超過 40% 的套件存在至少一個已知的弱依賴鏈。

偵測窗口在壓縮。 從套件被汙染到被拉入生產環境,時間可能不到一分鐘。你每天跑一次的安全掃描?太慢了。每週一次?那更是在裸奔。

防禦也在加速。 Socket 能在 6 分鐘內抓到 Axios 攻擊,靠的不是查「犯罪紀錄」,而是盯著程式碼的實際行為——這段程式碼存取了網路嗎?呼叫了 shell 嗎?使用了混淆技術嗎?這種行為分析本身就高度依賴 AI。攻防雙方都在加速,差別在於誰先抵達。


不是所有威脅都一樣嚴重

在繼續之前,必須先說一句公道話。

並非每個開源套件都是定時炸彈。npm 生態系每天處理數十億次安裝,絕大多數套件是安全的。Axios 和 CanisterWorm 是高調案例,但它們代表的是最極端的攻擊情境,不是日常常態。

然而,問題在於機率與後果的乘積。一次成功的供應鏈攻擊可能影響數百萬個下游專案——這就是為什麼即使發生機率低,它仍然是 OWASP Top 10 等級的風險。

學術界對此也有爭論。Ohm 等人(2020)的系統性回顧指出,大多數供應鏈攻擊仍然依賴「人為疏忽」(如弱密碼、未啟用雙因素驗證),而非技術上的零日漏洞。這意味著:最有效的防線往往不是最昂貴的工具,而是最基本的安全衛生習慣。


你的研究管線也是一條供應鏈

你可能會想:「我又不是軟體工程師,這跟我有什麼關係?」

關係大了。你的實驗室用 Python 跑生物資訊分析嗎?Biopython、Scanpy、DESeq2 的 Python wrapper——這些工具各自拖帶著幾十個依賴。如果其中任何一個被汙染,你的基因體數據、臨床試驗結果、或專利相關的分析程式碼都可能被竊取或竄改。

更嚴重的後果是什麼?**被汙染的分析結果如果進入論文或法規文件,後果不只是數據洩露,而是科學信譽的崩塌。**想像一下,你投了一篇用到被竄改套件的分析結果——審稿人不會幫你查這種事,但撤稿委員會會。


你能做什麼?

對個人開發者和研究者而言,有四個立即可執行的防禦措施:

第一,鎖定依賴版本。不要讓套件管理器自動升級到最新版;使用 lock file(package-lock.jsonpoetry.lock)固定每個依賴的確切版本。

第二,啟用行為監測。使用如 Socket 或類似工具,對依賴項的實際行為(而非僅名稱和版本)進行即時分析。

第三,AI Agent 的依賴決策需要人類審查。不要完全信任 Agent 自動安裝的套件;至少在 production 環境部署前進行一次人工確認。

第四,最小權限原則。AI Agent 的工具權限應該受到嚴格限制——它不需要 shell 存取權限來幫你寫一個函式。

防禦策略四道防線 圖 3:供應鏈攻擊防禦四道防線——版本鎖定、行為監測、人工審查、最小權限

攻擊者已經在用 AI 加速了。防禦者沒有不加速的本錢。


References

  1. a16z (2026). Et Tu, Agent? Did You Install the Backdoor? Andreessen Horowitz
  2. Socket Security (2026). Axios supply chain attack: Post-incident analysis. Socket Blog
  3. Ohm M et al. (2020). Backstabber's knife collection: A review of open source software supply chain attacks. DIMVA 2020. doi:10.1007/978-3-030-52683-2_2
  4. Ladisa P et al. (2023). A taxonomy of attacks on open-source software supply chains. IEEE S&P 2023. doi:10.1109/SP46215.2023.10179304
  5. Zahan N et al. (2022). What are weak links in the npm supply chain? ICSE-SEIP 2022. doi:10.1145/3510457.3513044

常見問題

覺得這篇有幫助?

追蹤以收到新的 AI × 生醫研究筆記:

或請我喝杯咖啡,讓新內容持續產出。

☕ 請我喝杯咖啡