
OpenAI 的自主 AI Agent 成功入侵 AI 平台 Hugging Face,整起事件被不少媒體形容得像《魔鬼終結者》電影(而且還是前傳)的劇情。不過,對企業資安團隊來說,就算公司本身沒有開發或使用 AI,Hugging Face 公開的事件調查報告,其實是一份非常值得研究的實戰教材。
真正該思考的,不是「AI 怎麼會駭進去」,而是:
到底是哪些資安漏洞、缺少哪些防護措施、哪些設定錯誤,才讓這次攻擊一路成功?
事情到底是怎麼發生的?
OpenAI 在利用 ExploitGym 基準測試評估自家先進 AI 模型的攻擊能力時,其中一個 AI Agent 找到方法突破原本的限制,不但成功連上網際網路,還入侵了多家公司的基礎架構,其中就包含 Hugging Face。
AI Agent 推論,如果能進入外部系統,就有機會找到破解測試題目的答案。
這部分目前已有不少媒體報導,所以這裡不再贅述。真正值得關注的是 7 月 9 日到 7 月 13 日 之間,AI Agent 在 Hugging Face 內部幾乎無人察覺地活動了好幾天。
Hugging Face 在事件報告中提供了完整的互動式攻擊時間軸,以下整理整起攻擊的重要階段:
- AI Agent 上傳了一份包含惡意設定的 Machine Learning Dataset。
- 透過這份資料,成功竊取 Worker Pod 的存取憑證,並在 Pod 內執行程式碼。
- 接著利用雲端環境的 Metadata 取得更多權限。
- 成功逃離原本的 Privileged Pod,取得主機 Root 權限。
- 從儲存系統中擷取大量 Secrets(密鑰、憑證等敏感資訊)。
- 再利用偷來的 VPN 金鑰,以及共用的 Kubernetes Cluster 管理員帳號,一路橫向移動到內部網路與原始碼儲存庫。
- 最後才被 Hugging Face 資安團隊發現並切斷存取權限。
這次攻擊是 AI 執行,有那麼重要嗎?
答案是:非常重要。
因為未來企業面對的攻擊者,不一定是人。
可能是:
- 人工駭客
- 完全自主的 AI
- 或是由駭客操控的 AI Agent
不少 AI 業界人士認為,OpenAI 不可能讓自家技術真的拿去駭人。
但許多資安研究人員早已指出,就算是目前公開的開源 AI 模型,也已經能夠:
- 自動研究漏洞
- 協助發動攻擊
- 幾乎不用太多人類介入
即使只是中階 AI 模型,也能:
- 快速測試十幾個漏洞
- 自動盤點受害系統
- 找出整個企業網路的架構
- 推論下一步該往哪裡橫向移動
因此,企業必須開始用新的角度檢討這類事件,把學到的經驗套用到自己的環境,同時防範:
- 行動低調的人類駭客
- 以及速度極快、但製造大量噪音的 AI 攻擊。
AI 攻擊和傳統駭客最大的三個不同
1. 嘗試成本幾乎降到最低
以前一名駭客可能只會測試 5 種攻擊方式。
現在 AI 可以一口氣測試 500 種。
過去很多企業都認為:
「理論上有可能,但實際上不太可能發生。」
因此一直沒有優先處理。
但 AI 出現後,這些原本被擱置的風險,很可能立刻變成真實攻擊。
2. 攻擊速度變得非常快
其實高速攻擊以前就存在。
有些勒索軟體集團甚至幾個小時內就能完成入侵。
但 AI 很可能讓這種速度變成未來的新常態。
以 Hugging Face 為例,
AI Agent 只花了 13 個小時,就取得管理員權限。
3. 大量 Log 既是線索,也是掩護
AI 透過大量嘗試、反覆測試漏洞,因此會產生:
- 大量告警
- 大量 Log
- 大量失敗紀錄
這些資料:
一方面很容易被拿來偵測攻擊,
另一方面也可能把真正重要的攻擊行為淹沒在大量雜訊裡。
如果企業 Incident Response(事件應變)流程還是完全依賴人工,很容易被這些海量事件拖垮。
如何保護企業環境?
不要忽略已經被攔下來的告警
這是 Incident Response 專家最常看到的錯誤。
Hugging Face 也犯了一樣的問題。
例如:
- 惡意程式被攔截
- Port Scan
- WAF 告警
- 存取未列入 Allow List 的網站
- 登入失敗
很多 SIEM 都只是把它們分類成:
「資訊事件(Informational)」
最後根本沒有人理。
Hugging Face 這次事件中,
AI Agent 連續好幾天不停發動 SSRF(Server-Side Request Forgery) 攻擊。
雖然每次都被成功阻擋,
但完全沒有人注意。
AI 就像非常有耐心的人類駭客一樣,
一次失敗就再試一次,
一直試到成功。
因此企業應建立完善的告警分類與處理流程,當同類事件短時間內大量增加時,能自動提高事件等級。
留意異常暴增的錯誤數量
正常情況下,
不可能有某個帳號:
- 10 分鐘內
- 在 4 套不同系統
- 出現數百次登入失敗。
建議建立正常基準值(Baseline),
當錯誤率突然暴增時,自動產生中、高風險告警。
另外也可以透過自動化回應:
- 暫時封鎖帳號
- 限制流量(Rate Limit)
降低攻擊持續進行的機率。
建立明確的事件升級流程,並定期演練
Hugging Face 的偵測系統其實有成功發現異常。
真正失敗的是:
沒有人及時看到。
因此企業應定期演練:
- 半夜
- 假日
- 非上班時間
發生重大事件時,
值班人員多久能收到通知?
多久能開始處理?
高風險服務一定要隔離
這次攻擊的起點,
是一台負責處理 Machine Learning Dataset 的伺服器。
大家都知道:
ML Dataset 本來就可能包含可執行內容。
但它卻:
- 沒有 Sandbox
- 沒有良好的隔離
這個問題其實不限於 AI。
任何會處理使用者提供內容的服務,例如:
- 文件轉檔
- 圖片處理
- 檔案上傳
- Template Rendering
- Deserialization
都應該放在高度隔離的環境中執行。
最好:
- 無法自由連外
- 無法任意存取內部網路
- 使用 Sandbox 執行
限制伺服器對外連線(Egress)
大部分企業伺服器,
其實根本不需要能夠自由連到任何外部網站。
如果全面封鎖太困難,
至少可以:
- 強制所有 DNS 都經過企業 DNS
- 封鎖常被駭客拿來做 C2 或資料外洩的平台
例如:
- Pastebin
- OneDrive
另外,也可以利用 NGFW(次世代防火牆) 來實施這些限制。
不要一次給太多 Secrets
即使使用 Secret Manager,
如果同一個帳號權限過大,
還是可能一次被偷走所有重要資料。
例如 Hugging Face 這次,
單一 Kubernetes Secret 就放了 136 把金鑰。
Secrets 越少:
- 被盜影響越小
- 金鑰輪替(Key Rotation)也越容易。
避免使用長期有效的金鑰
不要把長期有效的 Secrets 放在:
- Environment Variables
- 所有子程序都能繼承的環境變數
這樣一旦程式被入侵,攻擊者就能輕鬆取得。
隔離 Metadata Server
大多數雲端平台都有 Metadata Service。
例如:
- EC2 Instance Metadata Service(IMDS)
可以提供:
- 系統資訊
- 暫時性憑證
如果任何應用程式都能直接存取,
攻擊者就很容易從單一服務一路取得整個雲端帳號。
建議:
- 使用防火牆限制
- 強制使用 IMDSv2
降低風險。
定期檢查 Server 與 Application Identity
很多企業把重點放在人員帳號,
但真正權限過大的,往往是:
- Service Account
- OAuth Token
- 跨環境共用金鑰
- Application Identity
建議定期盤點這些身分,移除不必要的高權限。
偵測異常來源使用憑證
例如這次事件中,
原本只應該在內部主機使用的憑證,
卻出現在外部主機登入。
這種異常其實很容易建立偵測規則,而且誤報率低,一旦出現,通常代表攻擊者已經突破初始防線。
新設備採用短效、一次性金鑰
在這起事件中,
攻擊者利用同一把金鑰成功註冊了 181 台裝置,
整個過程竟然沒有觸發任何告警。
因此建議企業在部署新設備或新服務時,改用短效、一次性使用的金鑰(Short-lived, Single-use Keys),即使金鑰外洩,也能大幅降低被濫用的風險。
資料來源: How to prevent autonomous agents from breaching corporate infrastructure