Two AI Supply Chain Attacks in Eight Days — Through Runtime Detection's Lens
axios npm and LiteLLM PyPI both compromised within an eight-day window. Honest walkthrough of what ATR rules would surface if either payload fired inside an instrumented runtime.
八天兩起重大 AI 供應鏈入侵在開放生態系發生。先做誠實 framing:ATR 是 runtime 偵測層,不是安裝期 SCA。這兩起攻擊我們都沒有在實際時間點偵測到。下面是 — 如果 payload 在 instrumented agent runtime 內觸發,我們的規則會看到什麼。
axios npm 入侵(2026-03-31)
根據 Microsoft Threat Intelligence,歸因是 Sapphire Sleet。入侵窗口三小時。axios 每週下載量 100M+。
機制:一個假的 [email protected] dependency 以 transitive 形式注入,post-install autorun。Payload 是跨平台 RAT,涵蓋 macOS、Windows、Linux。惡意版本從上架到被社群通報下架,只有 39 分鐘窗口。
Runtime trace 上會觸發的 ATR 規則:
- ●
ATR-2026-00204— 隱匿執行持久化(非 binary 套件出現 post-install autorun) - ●
ATR-2026-00152— 混淆憑證外洩(RAT 外洩鏈) - ●
ATR-2026-00041— scope-creep(密碼學函式庫去 reach shell) - ●
ATR-2026-00111— shell escape - ●
ATR-2026-00126— Skill rug-pull setup(發佈時良性、更新後惡意 pattern)
LiteLLM PyPI 後門(2026-03-24)
根據 Datadog Security Labs,歸因是 TeamPCP。入侵窗口四十分鐘。LiteLLM 每日下載量 3.4M。
機制:在 site-packages 目錄放入惡意 litellm_init.pth 檔。.pth 檔會在每次 Python 啟動自動執行 — 極為安靜的持久化。Payload 竊取 kubectl secret、spawn alpine pod 做橫向移動、在 /root/.config/sysmon/sysmon.py 安裝持久後門。
Runtime trace 上會觸發的 ATR 規則:
- ●
ATR-2026-00204— 隱匿執行持久化(.pthautorun) - ●
ATR-2026-00152— 混淆憑證外洩(kubectlsecret 萃取) - ●
ATR-2026-00040— privilege-escalation(alpine pod spawn 做橫向) - ●
ATR-2026-00041— scope-creep - ●
ATR-2026-00112— dynamic-import-exploitation - ●
ATR-2026-00111— shell escape
三個 Takeaway
1. 安裝期防禦必要但不充分。 兩起攻擊都在 publish-to-detection 窗口內擊敗了安裝期 SCA。SCA + 行為 runtime 偵測才是現實的防禦姿態。
2. Runtime 偵測是第二層。 Payload 一旦執行,在 syscall、網路目的地、持久化寫入上的 deterministic 規則就會啟動,不分 vendor、不分語言。ATR 規則寫的是 behaviour,不是 package 名字。
3. 規則 vendor 中立。 同一條 ATR-2026-00204 會在 Anthropic Skill、MCP server、npm post-install、PyPI .pth 上觸發。偵測層不在乎 package 來自哪個生態系。
這篇沒有宣稱的事
我們沒有在實際時間點抓到 axios 或 LiteLLM。兩起都是社群通報先發現。寫這篇的價值是:用已知事件展示規則套上後會長什麼樣子,讓未來在 instrumented 環境發生的新事件能有一份更快的偵測合約可以對照。
Microsoft 報告 · Datadog LiteLLM 分析 · Elastic Security Labs · ATR 規則語料