七分鐘刪掉一座雲端:Microsoft 揭露首個代理式勒索軟體集團 JadePuffer
Microsoft 詳細記錄 Storm-3168/JadePuffer 以 LLM 驅動的自動化攻擊,七分鐘內刪除 100+ 個 Azure 儲存體帳戶——鍵盤後不再有人類的勒索軟體已然問世。
勒索軟體自問世以來,鍵盤後總有一個人類——或者至少,寫腳本的是人類。這個假設在今年悄悄失效了。Microsoft Security Research 於 9 月 25 日發布的技術報告,詳細記錄了其追蹤代號為 Storm-3168、外界通稱 JadePuffer 的威脅行為者針對 Azure 的攻擊。Sysdig 早在七月就評估這是史上第一個有正式紀錄的「代理式勒索軟體」(agentic ransomware)行動:一場從頭到尾由大型語言模型驅動、而非人類操作者主導的勒索攻擊。
Microsoft 從受害租用戶日誌中萃取出的數據,讀起來像一場雲端身分安全的壓力測試。在其中一次攻擊裡,破壞階段僅歷時約七分鐘,行為者嘗試刪除超過 100 個儲存體帳戶——其中大多數成功刪除。在 35 分鐘的時間窗口內,單一遭入侵的服務主體(service principal)執行了超過 150 次破壞或憑證蒐集操作,除了儲存體大屠殺之外,還刪掉了一座 Azure Key Vault、一個 Function App 和一個 App Service 方案,同時平行嘗試刪除多個 Azure SQL 資料庫,並猛攻 Site Recovery 與 Azure Backup 的保護鎖定——這些機制存在的目的,正是為了讓復原成為可能。
攻擊的解剖構造
Microsoft 觀察到同一租用戶中有兩個遭入侵的服務主體,分工明確,而這種分工本身就暗示了自動化的存在。第一個負責偵察:對 Azure 虛擬機器、訂閱、資源群組和資源進行枚舉,前後持續約 15.5 小時、超過 300 次成功的讀取操作,為整個組織的 Azure 環境建立了完整地圖。在偵察開始約 90 分鐘後,第二個服務主體對兩個訂閱中的 VM 與資源群組完成枚舉——只花了五秒。兩個身分都使用 Storm-3168 關聯的基礎設施、相同的網路指紋,以及 python-requests/2.34.2 這個 user agent。
真正洩底的是時間軸。在初始盤點 16 小時後,第二個服務主體枚舉了 App Service 組態存放區,可能在尋找外洩的憑證。最後一次盤點操作後 70 秒,破壞開始——距離一次針對不存在儲存體帳戶的失敗 ListKey 呼叫不到一秒。Microsoft 的結論是:操作間隔與重疊的權杖流「強烈指向自動化或腳本化執行」——同一身分被發行了五個權杖,其中四個支援刪除操作,並在 70 秒窗口內並行運作:一個權杖專注於儲存體刪除,另一個則混合處理儲存體與 SQL 刪除。這是協同編排,不是攻擊者在入口網站裡手動點擊。
初始入侵途徑則平凡得令人嘆氣。受害服務主體的 client ID、client secret 與 tenant ID,曾被受害組織的一名員工以明文形式貼在公開的 GitHub issue 裡。該 issue 後來編輯刪除了密碼——但密碼仍可透過 issue 的公開編輯歷史取得。Microsoft 特別強調一個太多團隊仍未內化的觀念:移除或遮蔽外洩的密碼並不會使其失效。任何在公開網路上出現過的憑證,都應視為已遭入侵並立即輪替。
從 CVE 到勒索劇本
JadePuffer 最早由 Sysdig 威脅研究團隊於 7 月 1 日披露,原始案例值得回顧,因為它展示了代理式惡意軟體有多麼「非人」。初始存取來自 CVE-2025-3248——開源 LLM 應用框架 Langflow 程式碼驗證端點的未授權漏洞。取得執行權後,LLM 展開了一場自適應且全自動的攻擊:枚舉主機、平行掃描環境中的各類機密,包括 LLM 供應商 API 金鑰(OpenAI、Anthropic、DeepSeek、Gemini)、雲端憑證——不僅明確涵蓋阿里雲、騰訊雲、華為雲等中國供應商,也掃描 AWS、GCP 與 Azure——還有加密貨幣錢包種子短語與資料庫組態檔。它傾倒 Langflow 背後的 Postgres 資料庫,把贓物暫存、審閱、然後刪除暫存檔。它橫向移動穿越內部網路,找到以預設憑證運作的 MinIO 物件儲存,並執行完整的枚舉劇本——優先鎖定 terraform-state 儲存貯體,那是任何基礎設施的皇冠珠寶。
真正震驚研究人員的是 payload 的質地。JadePuffer 的程式碼會「自我旁白」,充滿自然語言推理、目標優先序,以及 LLM 反射性產生、人類操作者鮮少費心撰寫的詳細註解。而且它能即時調適:在其中一個序列裡,它從資料庫登入失敗到修出可用的解法只花了 31 秒,在精煉後的參數內重試失敗步驟。Microsoft 的新報告則顯示,同一個行為者已升級到 ARM 規模的批次雲端資源破壞,並成功取得 30+ 個儲存體帳戶的存取金鑰——包括與 Azure Site Recovery 相關的帳戶——可用於未來的資料竊取。
為什麼防禦只擋住了一部分
在殘骸之中有一個真正振奮人心的發現。少數幾個儲存體帳戶在刪除狂潮中倖存——不是因為攻擊者缺乏權限,而是因為 Azure 資源鎖定(resource lock)與儲存體帳戶層級的刪除保護擋下了這些嘗試。Microsoft 將此定位為「獨立防護措施的價值:即使遭入侵的身分擁有廣泛的管理員權限,這些防護依然有效」。SQL 資料庫也全部倖存,不過純屬意外:攻擊者對 Azure SQL 資源類型使用了不支援的 API 版本,導致每次刪除都失敗。
這堂課是最字面意義上的縱深防禦。假設憑證已經外洩——因為它很可能確實在某個 GitHub issue 的編輯歷史或某份 CI 日誌裡。真正重要的是:單一遭入侵的工作負載身分,能否枚舉所有東西、刪除所有東西,並在離開時順手癱瘓復原機制。
代理時代是雙面刃
Microsoft 明確將這些發現與「AI 編排攻擊」的更大趨勢掛鉤:威脅行為者能以人類團隊難以匹敵的速度與規模,協調橫跨雲端環境的複雜後滲透操作——並主張防禦方必須以同樣的方式回應,點名 Project Perception 與 MDASH 等計畫,讓安全團隊能運用 AI 在龐大環境中調查與回應,而不是靠分析師逐一追蹤每個動作。該公司也公布了這次行動的 MITRE ATT&CK 對應,橫跨公開應用程式利用(T1190)、有效雲端帳戶(T1078.004)、雲端服務探索(T1526)、資料破壞(T1485)與抑制系統復原(T1490),並提供入侵指標,包括三個用於 App Service 探測的 IPv4 位址。
對安全團隊而言,檢查清單自己會說話:把每一個公開外洩的服務主體密碼視為已燒燬並輪替;對工作負載身分實施最小權限;把復原平面——Site Recovery 與 Backup 鎖定——保護得和生產環境一樣嚴密;啟用獨立於 RBAC 運作的刪除保護。對其他人來說,JadePuffer 標誌著一個時代的轉換。當平均入侵停留時間因為攻擊者不需要睡覺而不斷縮短,當 31 秒的修復循環算得上「有耐心」,勒索與防禦的經濟學都已經改變。第一個代理式勒索軟體集團已不再是概念驗證。它有了雲端業務,而且以七分鐘為單位工作。
Sources
- [1] https://www.microsoft.com/en-us/security/blog/2026/09/25/storm-3168-agentic-driven-cloud-attacks-using-compromised-service-principals/
- [2] https://www.sysdig.com/blog/jadepuffer-agentic-ransomware-for-automated-database-extortion/
- [3] https://www.bleepingcomputer.com/news/security/jadepuffer-agentic-ai-attacks-target-azure-destroy-cloud-resources/
- [4] https://www.csoonline.com/article/4227657/autonomous-agents-attack-azure-using-compromised-identities-and-destroying-resources.html