AIDEFEND in Action AIA-0117 實際事件 發布於 AIA: 2026年10月30日

Cursor 市集的 Claude Code 擴充功能遭竄改,載入即植入 SSH 後門

AI 程式編輯器 Cursor 證實,其市集在 2026 年 10 月 29 日曾提供遭竄改的 Claude Code 程式助理擴充功能,涉及 2.1.312 與 2.1.313 的 Windows/macOS 套件。惡意程式會在 IDE 載入模組時執行,植入 SSH 金鑰、嘗試建立可持續重啟的反向通道,並回傳主機資訊。SSH 是用來遠端登入主機的協定,攻擊者能否登入仍取決於本機服務是否運作及是否接受該金鑰;公開證據尚未證實 Anthropic 官方散布基礎設施遭入侵。

Supply Chain CompromiseSupply Chain DefenseRuntime IsolationAI Coding IDEAI Supply Chain
4 項對應的 AIDEFEND 防禦手法

威脅分析

  • AI 開發工具夾帶原生惡意程式:Cursor 於 10 月 30 日更新公告,確認 2.1.312 與 2.1.313 的 Windows/macOS 套件遭竄改,散布時間為 10 月 29 日約 02:27 至 13:35(美國太平洋時間)。extension.js 開頭插入的程式,會在 IDE 載入模組時執行,早於正常的擴充功能啟用流程。攻擊者不必說服模型,也不必等工具核准提示。
  • 植入後門與成功登入要分開判斷:惡意程式加入 SSH 授權金鑰、嘗試啟用 SSH,並啟動對外的反向通道。Phorion 發現服務設定程式有錯誤,但原本已啟用 SSH 的主機,仍可能接受植入的金鑰。通道連上不代表攻擊者已登入。macOS 的 LaunchAgent,以及 Windows 的 SYSTEM 排程工作與啟動資料夾備援,會嘗試讓通道在重新登入或開機後再次啟動;本案未證實已成功取得 SYSTEM 權限。
  • 登入失敗仍可能回傳主機資訊:初次 HTTP 回報包含主機與帳號資訊,以及符合篩選條件的環境變數名稱,不含變數內的機敏值。插入的惡意程式從內嵌內容產生指令碼與金鑰,沒有另外下載第二個可執行檔。後續透過遠端登入竊取憑證是風險,不能直接寫成每台主機都已發生。
  • 歸因維持在證據範圍內:已確認的散布管道是 Cursor 市集。Socket 的註冊庫調查未建立 npm、Open VSX 或 Microsoft 市集曾散布相同惡意版本的證據。最初入侵方式,以及 Anthropic 發行者帳號或建置系統是否遭入侵,都尚未確認。程式內有 Linux 分支,也不代表惡意 Linux 套件曾被散布。

適用的 4 項 AIDEFEND 防禦手法

AID-H-003.001
Software Dependency & Package Security
高
管理 AI 開發工具時,應把散布來源、確切版本與經獨立核准的 SHA-256 綁定在部署鎖定清單中,只允許符合清單的擴充功能載入。在 IDE 匯入 extension.js 之前就強制檢查,並阻擋隱含更新與其他安裝路徑。必須將套件檢查介面接到 VSIX 擴充功能安裝套件;只看版本、發行者名稱,或只向同一個可疑鏡像取得雜湊,都不夠。這能阻擋未核准的替換檔案,無法保證已核准的程式本身沒有惡意。
AID-I-001.002
MicroVM & Low-Level Sandboxing
高
對風險較高的受管理 AI 開發環境,應把整個 IDE 擴充功能執行環境及其子程序放進經驗證的虛擬機或受管理的虛擬桌面,使用獨立家目錄,不掛載實體主機的 SSH 檔案與憑證儲存區,並禁止修改主機的自動啟動設定。須驗證實際桌面與執行環境的整合,以及對主機寫入遭拒絕的結果。若只替模型發出的 shell 工具加上沙箱,這段更早執行的原生 JavaScript 仍在範圍外;本控制用來限制主機損害,不能證明擴充功能安全。
AID-I-001.004
Sandbox Network Egress Restrictions
高
若整個 IDE 與擴充功能都由受管理沙箱涵蓋,應在執行環境之外強制管制對外連線,預設全部阻擋,只放行具名政策核准的模型與更新服務。阻擋任意以 IP 直接連線的 SSH 與 HTTP,包含本案攻擊者使用的連接埠 22 與 8099。測試直接 socket、輔助程序、DNS 與核准代理伺服器的後續連線,並核對外部流量紀錄。工具呼叫的網址過濾,或只封鎖這個已下線的 IP,都無法建立這項邊界;本機持久化仍須另外清除。
AID-E-003.003
Confirmed Malicious Code & Persistence Eviction
高
保存證據後,把已確認的惡意擴充功能與自動啟動檔案,依確切路徑、版本及雜湊列入簽署的事件清單。從安裝來源與受影響執行環境移除或替換擴充功能、macOS LaunchAgent 及 Windows 啟動指令碼,再獨立核對完整安裝範圍,並於可拋棄的副本測試正常啟動。這是事後清除;SSH 金鑰、仍在運作的通道及應用程式排程註冊,仍須分別處置。

身為資安防禦者,我們應該這麼做

  • 以市集來源、安裝時間、平台與實際檔案內容辨識受影響安裝。2.1.312 與 2.1.313 都要查,並比對 Cursor 更新公告中的各平台 VSIX 雜湊與 extension.js 雜湊;只看版本號,無法區分正常與遭竄改的檔案。處置前先保存安裝紀錄、端點與網路證據。
  • 隔離有惡意程式執行或後門證據的主機,依 Cursor 最新公告檢查 svc-telemetry 金鑰及指紋、通道程序、macOS LaunchAgent,以及 Windows 排程工作與啟動資料夾檔案。找不到金鑰註解,單獨不足以判定主機乾淨。須移除可獨立運作的常駐指令碼,並評估重建主機;解除安裝或更新擴充功能,不會移除所有主機變更。
  • 從可信任的設備撤銷受影響的工作階段,並撤銷或輪替受影響主機可存取的憑證。初次回報沒有環境變數值,憑證處置是為了防範可能發生的後續存取。Cursor 表示攻擊者伺服器已下線,本機常駐程式仍須另外檢查與清除。
  • 後續部署應在載入前鎖定經獨立核准的擴充功能檔案。需要較強圍堵時,以經驗證的虛擬機或虛擬桌面隔離整個 IDE 擴充功能執行環境,並在環境外強制限制對外連線。採用前,先以無害測試確認主機檔案寫入,以及未授權的 SSH/HTTP 對外連線確實遭拒絕。

結論

AIDEFEND  將本案對應到擴充功能載入前的確切套件檢查、整體執行環境隔離,以及由沙箱外部強制執行的對外連線限制。確認惡意程式已執行後,也可依惡意檔案清除指引,移除遭竄改的擴充功能與自動啟動檔案,並獨立核對安裝來源及執行環境。原生擴充功能已先跨過的主機邊界,無法靠模型提示詞或工具核准補救。

最後更新: