微軟研究人員披露了一項已修補的漏洞,該漏洞存在於 Anthropic 的 Claude Code 的 GitHub Action 中,攻擊者可透過提示注入(prompt injection)攻擊,讓憑證外洩。微軟於 4 月 29 日透過 HackerOne 披露該問題,Anthropic 則在 5 月 5 日發布修補程式,Claude Code 版本為 2.1.128。該漏洞遭利用於在 CI/CD 工作流程中執行的 AI 代理,在這些情境下,惡意指令若被隱藏於 GitHub issues、pull requests 或 comments 之中,就可能操縱 AI 存取敏感資訊。微軟警告稱,AI 程式編寫代理會帶來新的安全風險,因為開發環境往往包含 API keys、雲端憑證以及其他敏感資料。
微軟研究人員揭露:Claude Code 的提示注入攻擊途徑
微軟研究人員發現,攻擊者可以在 GitHub issues、pull requests 或 comments 中隱藏提示注入攻擊,藉此操縱 Claude Code 存取包含敏感憑證的檔案。週五在一篇部落格文章中,微軟表示研究始於「在多家供應商使用 AI 輔助的 GitHub 工作流程時,觀察到公開倉庫中的提示注入嘗試;其中攻擊者可控的 issue 或 [pull requests] 內容會被 AI 代理處理,並可能影響其工具使用。」
為了測試該漏洞,微軟建立了一個 GitHub workflow,並將惡意指令偽裝在其所控制的網域所託管的內容背後,讓研究人員得以繞過 Claude 的安全防護。提示注入攻擊騙過 Claude 讀取敏感憑證,並對其進行修改,以同時躲避 Claude 的防護以及 GitHub 的 secret-scanning 工具。微軟表示,攻擊者隨後就能重建該憑證,並透過 issue comments、workflow logs、網頁請求或 shell commands 將其外洩。
「為了繞過 Sonnet 的拒絕安全機制,我們將 shell payload 隱藏在來自我們所控制網域的回應背後,」微軟表示。「我們也啟用了讓沒有『write』權限的使用者觸發 workflow 的功能,以確保在我們的測試期間 Anthropic 的環境變數清除(scrub)緩解措施處於啟用狀態。」
Anthropic 在 HackerOne 披露後於 5 月 5 日修補漏洞
Anthropic 在 5 月 5 日使用 Claude Code 版本 2.1.128 修補了該缺陷;此前微軟於 4 月 29 日透過 HackerOne 披露了該漏洞。Claude Code 是 Anthropic 的 AI 編碼代理,用於軟體開發任務,該工具於 10 月推出。該工具在 3 月間因 Anthropic 意外洩露超過 500,000 行其原始碼而受到關注,揭露了其內部架構細節。
在 GitHub 上,pull request 允許開發者提出對程式碼儲存庫的變更,並在變更被核准與合併之前先進行審查。該漏洞利用了這個審查流程:透過嵌入惡意指令,使 AI 代理會處理這些內容。
微軟警告:AI 系統中的自然語言功能可能成為可執行程式碼
儘管存在多層內建安全控制,微軟仍發現,若是意志堅定的攻擊者,仍可能操縱 AI 代理暴露敏感資訊。微軟表示:「我們正在進入一個自然語言成為可執行程式碼的時代,像 GitHub issues 這樣不受信任的輸入,預設必須被視為敵意來源。」「只要一則經精心設計的留言,結合被誤解的信任邊界,就足以讓人帶著生產環境的憑證離開。」
該報告出現之際,提示注入攻擊正成為面向 AI 代理的最大安全威脅之一。在提示注入攻擊中,攻擊者會在像電子郵件、文件、網站或程式碼註解這樣的內容中隱藏指令,使 AI 系統去遵循這些指令,而非使用者的指示。
常見問題
微軟在 Claude Code 的 GitHub Action 中發現了什麼漏洞?
微軟研究人員發現,Anthropic 的 Claude Code GitHub Action 可透過隱藏於 GitHub issues、pull requests 或 comments 中的提示注入攻擊被操縱。該漏洞讓攻擊者能夠透過誘騙 AI 代理存取敏感檔案,並將資訊外洩至 issue comments、workflow logs、網頁請求或 shell commands,進而揭露儲存在軟體開發管線中的憑證。
Anthropic 何時修補 Claude Code 的漏洞?
Anthropic 於 5 月 5 日使用 Claude Code 版本 2.1.128 修補該漏洞;在此之前,微軟於 4 月 29 日透過 HackerOne 披露了該問題。該修補程式解決了可在 CI/CD 工作流程中操縱 AI 代理的提示注入攻擊途徑。
為什麼 AI 程式編寫代理容易受到提示注入攻擊?
微軟警告指出,AI 程式編寫代理若在 CI/CD 工作流程內執行,會產生新的安全風險,因為這些環境通常可存取 API keys、雲端憑證以及其他敏感資訊。提示注入攻擊利用了自然語言能夠扮演可執行程式碼的事實:攻擊者可以在 AI 代理進行程式碼審查任務時處理的內容中隱藏惡意指令。