返回首頁

AI 安全

官方 llms.txt 令 coding agent 安裝無主套件,文件供應鏈成為執行邊界

Pandex 發現企業的 AI 導向文件含有數百個指向未註冊套件或網域的安裝指令,Claude、Codex、Hermes 隨後在真實企業環境執行研究人員設置的信標。問題不在 llms.txt 格式本身,而是代理把可信文件直接升格為可執行命令,繞過套件所有權與來源驗證。

Unknown artistUnknown artist · Public domain · Image source
zh-Hant

Pandex Research 掃描 6,214 個大型企業、科技公司及國防供應商網域,解析其 `llms.txt` 與 `llms-full.txt`。研究者的原始資料稱 8,565 份文件含逾 237 個可被註冊的套件、網域或雲端子網域;Ars Technica 則報道 8,265 份文件中,有 120 個網站合計留下 227 條相關命令。兩組總數尚未獲公開資料集或勘誤調和,因此不宜把精確比例視為定論。

團隊註冊部分無主名稱,放入只會回傳安裝事件的信標。首個 Fortune 500 環境在四分鐘內執行套件,此後收到數十次企業回呼;父程序鏈顯示 Claude、Codex 及 Hermes 等 coding agent 參與安裝。這不是模型臨時幻想套件名稱:名稱原已存在於 HTTPS 官方文件,代理只是把「閱讀安裝說明」接成 `pip`、`npm` 或 `npx` 執行。

真實案例來自 Clerk 文件。原本未限定來源的 `npx clerk-next-fix-auth-protection` 可由公共 npm 同名套件攔截;惡意版本透過安裝生命週期 hook 外傳使用者、主機及工作目錄。Clerk 現已改用 `npx --package @clerk/eslint-plugin ...`,明確指定承載 binary 的 scoped package。

工程上的重點是把所有外部文件視為不可信資料:代理執行安裝前應驗證 namespace、publisher、版本及 digest,套件管理器需採 allowlist,shell、網路及持久寫入權限也應分開審批。沙箱與 EDR 仍有價值,但若合法代理經允許的 registry 主動下載程式,終端偵測可能只看到正常開發流程。下一步應關注 Pandex 公開掃描工具與資料後,能否獨立重現各代理、權限模式及成功率。

來源

  1. Data Became Code: We Ran Code Inside Fortune 500s Using Files They Published for AI Agents
  2. Claude, Codex, and Hermes installed unowned code inside corporate networks
  3. Migrate away from Middleware-based auth checks