GITHUB_TOKEN(一個儲存庫範圍的機密),並在第二條路徑中達成在 GitHub Actions 執行器上的遠端程式碼執行 。這能讓攻擊者修改 pull request 的評論、核可惡意的變更,或竄改儲存庫的 CI 流程 。adk-python 儲存庫在其 CI/CD 流程中運行了 兩層 AI 代理人 :
| 層級 | 代理人 | 權限 | 觸發方式 |
|---|---|---|---|
| 低 | 分流代理人(面對公眾) | 唯讀;僅能對 issue / PR 留言 | 任何公開的 GitHub issue 或 pull request |
| 高 | 程式碼修復代理人(僅限維護者) | 儲存庫寫入權限;可修改程式碼、核准 PR、存取機密 | 由儲存庫的「協作者」發布的 /adk-issue-fix 指令 |
攻擊鏈逐步解析 :
/adk-issue-fix」)。/adk-issue-fix 指令的評論。adk-bot 擁有協作者權限),第二個工作流程便將其視為合法的特權請求 。高權限的程式碼修復代理人因此被啟動。GITHUB_TOKEN),並能修改程式碼或核准 pull request 。此架構的核心缺陷在於 缺乏跨代理人的權限邊界:高權限代理人僅因指令來自一個協作者帳號就予以信任,完全沒有驗證該指令是來自受信任的人類,還是來自一個已經淪陷的低權限代理人 。
adk-python 儲存庫中刪除了三個涉及此代理人攻擊鏈的 GitHub Actions 工作流程:issue-analyze.yml、issue-fix.yml 和 pr-analyze.yml 。業界研究人員和分析師從此次揭露中得出了幾個重要結論:
代理人間的信任是一個新的攻擊面。 傳統安全模型假設信任邊界存在於人與軟體之間;但這個案例證明,AI 代理人可以被用來攻擊其他 AI 代理人,且攻擊能無聲無息地跨越權限邊界 。雲端安全聯盟(CSA)指出這是一個「信任交接缺陷」——代理人會隱式地信任來自其他代理人的輸入,而不驗證這些指令的真實來源 。
提示注入是新的注入類別。 正如 SQL 注入與命令注入定義了 2000 年代與 2010 年代,跨代理人的提示注入——亦即一個代理人的輸出變成另一個代理人信任的輸入——現在已是一個經過驗證、可在生產環境中使用的攻擊向量,安全架構必須將其納入考量 。
代理人的身份識別與授權仍是未解難題。 目前缺乏標準化機制,讓一個 AI 代理人在依另一個代理人的指示行動之前,能驗證對方的真實身份或權限等級。攻擊之所以成功,是因為系統信任的是「帳號身份」(協作者),而非「指令來源」(公眾攻擊者)。CSA 的研究人員呼籲將「跨代理人授權框架」作為一項基本的安全基礎設施 。
使用 AI 代理人的 CI/CD 流程需要權限隔離。 安全架構師正在呼籲:(a) 代理人應為唯讀,不能發出操作指令;(b) 代理人之間的請求需要密碼學驗證;(c) 任何會提升權限的指令都應設置「人機共同核准」的關卡;以及 (d) 限制代理人的輸出,防止它們發出下游系統會盲目執行的觸發指令 。
這是對整個代理人生態系統的預警。 The Register、CSO、CSA 以及多位分析師都將此事件定位為「同類首例」的攻擊,並認為除非業界從架構設計之初就內建安全性,否則此類攻擊幾乎肯定會在其他多代理人框架(例如 LangChain、AutoGen、CrewAI、Microsoft Copilot Studio)中被複製 。