資安業者 Forever Security 近日揭露一起實際利用的攻擊:駭客將偽裝成工程筆記的 AGENTS.md(代理程式指引檔)放入受害者的下載資料夾,誘使 AI 程式開發代理程式部署惡意程式,並外洩工作階段權杖(session token)。研究人員已在 OpenAI Codex 與 Claude Code 這兩款 AI 程式開發代理工具上重現此攻擊,並警告 Markdown 檔案已成為新型態的可執行檔。
客戶端點上抓到的實際攻擊
Forever Security 在報告中指出,他們在一名真實客戶的電腦上,發現位於 ~/Downloads 資料夾的
AGENTS.md 檔案。該檔案偽裝成一般工程筆記,內容卻指示 AI 代理程式部署惡意程式,並外洩工作階段權杖。
與多數提示注入(prompt injection)研究不同,這並非研究人員自行開發的概念驗證(proof of concept),而是實際捕捉到的攻擊。報導指出,研究人員在攻擊造成實質損害前即已攔截。至於檔案如何進入下載資料夾,研究人員無法確認,推測是瀏覽器從事先遭入侵的網站取得。
攻擊成立的三個條件
據報導,攻擊者利用了三個條件:網站可在使用者不知情下,讓瀏覽器下載特定格式的檔案;.md 檔預設不被視為惡意或危險;AI 代理程式會依 AGENTS.md 的內容行動,不論內容為何。
Forever Security 指出,下載資料夾是網站不需任何點擊或授權就能寫入檔案的位置,因此網站得以植入代理程式會代為執行的指令。
報告因此直言「Markdown 是新的可執行檔」。
在 Codex 與 Claude Code 上皆可重現
這是間接提示注入(indirect prompt injection)的變形手法。研究人員表示,原始攻擊針對 Codex,他們也在 Claude Code 上成功重現,但兩者的安裝路徑不同。測試中,Codex 攻擊鏈的成功率逾九成。
在此次案例中,攻擊者試圖讓代理程式安裝名為 function-color 的惡意 npm 套件。據報導,這個惡意程式是兩年前另一波活動中的產物,卻一直未被發現。
研究人員強調,這不是軟體漏洞,廠商沒有可修補之處。代理程式依設計遵循 AGENTS.md,如同瀏覽器渲染釣魚頁面也是依設計運作;問題在於代理程式能讀取瀏覽器可輕易寫入的資料夾。報告指出,以人為前提設計的防禦,在代理程式取代人類後便會失靈。Forever Security 目前只發現這一個實際案例,並持續搜尋其他攻擊嘗試。
Forever Security 提出以下建議:
- 將下載資料夾視為代理程式的「敵境」,勿在該資料夾啟動 Codex、Claude Code 等代理程式。
- 檢查非自己撰寫的指引檔,尤其是下載資料夾與複製下來的程式碼儲存庫,先閱讀再讓代理程式接觸。
- 檢查代理程式設定檔是否有異常區塊或遭更動的指令,例如專案 .claude/settings.json 中非自己設定的 ANTHROPIC_BASE_URL、代理伺服器或其他 API 端點。
- 保留核准機制與沙箱,對要求繞過這些機制的內容保持警覺;若發現惡意檔案,應輪替權杖,因為被竊的權杖等同有效的登入階段。
本文參考 Dark Reading、TechRadar 等外媒報導編譯