Security

威脅模型(MITRE ATLAS)

版本: 1.0-草案 | 框架: MITRE ATLAS(AI 系統對抗性威脅態勢)+ 資料流程圖

此威脅模型記錄針對 OpenClaw AI 代理平台與 ClawHub Skills 市集的對抗性威脅。這是一份由 OpenClaw 社群維護、持續更新的文件。若要回報新威脅、提出攻擊鏈或建議緩解措施,請參閱參與威脅模型貢獻

主要 ATLAS 資源: 技術 | 戰術 | 案例研究 | ATLAS GitHub | 參與 ATLAS 貢獻


1. 範圍

元件 納入範圍 備註
OpenClaw 代理執行階段 核心代理執行、工具呼叫、工作階段
閘道 驗證、路由、頻道整合
頻道整合 WhatsApp、Telegram、Discord、Signal、Slack 等
ClawHub 市集 Skills 發布、審核、散布
MCP 伺服器 外部工具提供者
使用者裝置 部分 行動應用程式、桌面用戶端

範圍外的回報與誤報模式(公開網際網路暴露、僅含提示注入且未繞過邊界的攻擊鏈、互不信任的操作人員共用同一閘道主機,以及其他情況)列於 SECURITY.md;漏洞回報範圍目前以該檔案為準,而非本頁。

2. 系統架構

2.1 信任邊界

text
┌─────────────────────────────────────────────────────────────────┐│                    不受信任區域                                 ││  ┌─────────────┐  ┌─────────────┐  ┌─────────────┐              ││  │  WhatsApp   │  │  Telegram   │  │   Discord   │  ...         ││  └──────┬──────┘  └──────┬──────┘  └──────┬──────┘              ││         │                │                │                      │└─────────┼────────────────┼────────────────┼──────────────────────┘          │                │                │          ▼                ▼                ▼┌─────────────────────────────────────────────────────────────────┐│                 信任邊界 1:頻道存取                            ││  ┌──────────────────────────────────────────────────────────┐   ││  │                      閘道                                │   ││  │  • 裝置配對(私訊配對 1 小時/節點配對存活時間 5 分鐘) │   ││  │  • AllowFrom/允許清單驗證                              │   ││  │  • 權杖/密碼/Tailscale 驗證                           │   ││  └──────────────────────────────────────────────────────────┘   │└─────────────────────────────────────────────────────────────────┘┌─────────────────────────────────────────────────────────────────┐│                 信任邊界 2:工作階段隔離                        ││  ┌──────────────────────────────────────────────────────────┐   ││  │                   代理工作階段                           │   ││  │  • 工作階段金鑰 = agent:channel:peer                    │   ││  │  • 每個代理各自的工具政策                               │   ││  │  • 對話記錄                                             │   ││  └──────────────────────────────────────────────────────────┘   │└─────────────────────────────────────────────────────────────────┘┌─────────────────────────────────────────────────────────────────┐│                 信任邊界 3:工具執行                            ││  ┌──────────────────────────────────────────────────────────┐   ││  │                  執行沙箱                               │   ││  │  • Docker 沙箱(預設)或主機(執行核准)                │   ││  │  • 節點遠端執行                                         │   ││  │  • SSRF 防護(DNS 鎖定 + IP 封鎖)                      │   ││  └──────────────────────────────────────────────────────────┘   │└─────────────────────────────────────────────────────────────────┘┌─────────────────────────────────────────────────────────────────┐│                 信任邊界 4:外部內容                            ││  ┌──────────────────────────────────────────────────────────┐   ││  │              擷取的 URL/電子郵件/網路鉤子             │   ││  │  • 外部內容封裝(隨機邊界 XML 標籤)                    │   ││  │  • 安全性通知注入                                       │   ││  └──────────────────────────────────────────────────────────┘   │└─────────────────────────────────────────────────────────────────┘┌─────────────────────────────────────────────────────────────────┐│                 信任邊界 5:供應鏈                              ││  ┌──────────────────────────────────────────────────────────┐   ││  │                      CLAWHUB                              │   ││  │  • Skills 發布(語意化版本,必須有 SKILL.md)           │   ││  │  • 靜態模式 + 鄰近 AST 的審核掃描                       │   ││  │  • 基於 LLM 的代理式風險審查 + VirusTotal 掃描          │   ││  │  • GitHub 帳號年齡驗證(14 天)                         │   ││  └──────────────────────────────────────────────────────────┘   │└─────────────────────────────────────────────────────────────────┘

2.2 資料流程

流程 來源 目的地 資料 防護措施
F1 頻道 閘道 使用者訊息 TLS、AllowFrom
F2 閘道 代理 已路由的訊息 工作階段隔離
F3 代理 工具 工具叫用 政策強制執行
F4 代理 外部 web_fetch 請求 SSRF 封鎖
F5 ClawHub 代理 Skills 程式碼 審核、掃描
F6 代理 頻道 回應 輸出篩選

3. 依 ATLAS 戰術分類的威脅分析

3.1 偵察(AML.TA0002)

T-RECON-001:代理端點探索

屬性
ATLAS ID AML.T0006 - 主動掃描
說明 攻擊者掃描暴露的 OpenClaw 閘道端點
攻擊向量 網路掃描、Shodan 查詢、DNS 列舉
受影響的元件 閘道、暴露的 API 端點
目前的緩解措施 Tailscale 驗證選項、預設繫結至 local loopback
剩餘風險 中等-公開閘道可被探索
建議 記錄安全部署方式、在探索端點加入速率限制

T-RECON-002:頻道整合探測

屬性
ATLAS ID AML.T0006 - 主動掃描
說明 攻擊者探測訊息頻道,以識別由 AI 管理的帳號
攻擊向量 傳送測試訊息、觀察回應模式
受影響的元件 所有頻道整合
目前的緩解措施 無特定措施
剩餘風險 低-僅靠探索所得的價值有限
建議 考慮將回應時間隨機化

3.2 初始存取(AML.TA0004)

T-ACCESS-001:配對碼攔截

屬性
ATLAS ID AML.T0040 - AI 模型推論 API 存取
說明 攻擊者在配對時限內攔截配對碼(私訊/一般配對為 1 小時,節點配對為 5 分鐘)
攻擊向量 窺視螢幕、網路嗅探、社交工程
受影響的元件 裝置配對系統
目前的緩解措施 1 小時 TTL(私訊/一般配對)、5 分鐘 TTL(節點配對);配對碼透過現有頻道傳送
殘餘風險 中等-配對時限可能遭利用
建議 縮短配對時限,新增確認步驟

T-ACCESS-002:AllowFrom 偽造

屬性
ATLAS ID AML.T0040 - AI 模型推論 API 存取
說明 攻擊者在頻道上偽造獲准的傳送者身分
攻擊向量 依頻道而異-偽造電話號碼、冒充使用者名稱
受影響的元件 各頻道的 AllowFrom 驗證
目前的緩解措施 頻道特定的身分驗證
殘餘風險 中等-部分頻道仍容易受到偽造攻擊
建議 記錄各頻道特定的風險,並在可行時新增密碼學驗證

T-ACCESS-003:權杖竊取

屬性
ATLAS ID AML.T0040 - AI 模型推論 API 存取
說明 攻擊者從設定/憑證檔案竊取驗證權杖
攻擊向量 惡意軟體、未經授權的裝置存取、設定備份外洩
受影響的元件 頻道/供應商憑證儲存空間、設定儲存空間
目前的緩解措施 檔案權限
殘餘風險 高-權杖以明文形式儲存在磁碟上
建議 實作靜態權杖加密,新增權杖輪替

3.3 執行(AML.TA0005)

T-EXEC-001:直接提示注入

屬性
ATLAS ID AML.T0051.000 - LLM 提示注入:直接
說明 攻擊者傳送精心設計的提示以操控代理程式行為
攻擊向量 包含對抗性指令的頻道訊息
受影響的元件 代理程式 LLM、所有輸入介面
目前的緩解措施 模式偵測、外部內容封裝;若未繞過邊界,則不屬於漏洞報告範圍(請參閱 SECURITY.md
殘餘風險 嚴重-僅進行偵測而不封鎖;複雜的攻擊可繞過偵測
建議 在現有偵測機制之上,針對敏感操作新增輸出驗證及使用者確認

T-EXEC-002:間接提示注入

屬性
ATLAS ID AML.T0051.001 - LLM 提示注入:間接
說明 攻擊者在擷取的內容中嵌入惡意指令
攻擊向量 惡意 URL、受污染的電子郵件、遭入侵的網路鉤子
受影響的元件 web_fetch、電子郵件擷取、外部資料來源
目前的緩解措施 使用隨機邊界的 XML 風格標記封裝內容、同形異義字/特殊權杖正規化,以及安全性通知
殘餘風險 高-LLM 仍可能忽略封裝指令
建議 為封裝內容使用獨立的執行環境

T-EXEC-003:工具引數注入

屬性
ATLAS ID AML.T0051.000 - LLM 提示注入:直接
說明 攻擊者透過提示注入操控工具引數
攻擊向量 影響工具參數值的精心設計提示
受影響的元件 所有工具呼叫
目前的緩解措施 危險命令須經執行核准
殘餘風險 高-仰賴使用者判斷
建議 引數驗證、參數化工具呼叫

T-EXEC-004:繞過執行核准

屬性
ATLAS ID AML.T0043 - 製作對抗性資料
說明 攻擊者製作可繞過核准允許清單的命令
攻擊向量 命令混淆、利用別名、路徑操控
受影響的元件 src/infra/exec-approvals*.ts、命令允許清單
目前的緩解措施 允許清單+詢問模式,以及命令正規化(解除分派包裝、偵測行內求值、分析 Shell 命令鏈)
殘餘風險 高-正規化可縮小但無法消除混淆繞過的可能性;執行路徑之間僅涉及一致性的發現會視為安全強化,而非漏洞(請參閱 SECURITY.md
建議 持續擴大命令正規化的涵蓋範圍,以因應新的混淆技術

3.4 持久化(AML.TA0006)

T-PERSIST-001:安裝惡意 Skill

屬性
ATLAS ID AML.T0010.001 - 供應鏈入侵:AI 軟體
說明 攻擊者將惡意 Skill 發布至 ClawHub
攻擊向量 建立帳戶,發布含有隱藏惡意程式碼的 Skill
受影響的元件 ClawHub、Skill 載入、代理程式執行
目前的緩解措施 GitHub 帳戶存續時間驗證、靜態模式/鄰近 AST 的掃描、基於 LLM 的代理式風險審查、VirusTotal 掃描
殘餘風險 高-雖有多層偵測機制,但 Skill 仍以代理程式權限執行,且未採用執行沙箱
建議 對 Skill 執行採用沙箱,擴大社群審查

T-PERSIST-002:Skill 更新污染

屬性
ATLAS ID AML.T0010.001 - 供應鏈入侵:AI 軟體
說明 攻擊者入侵熱門 Skill 並推送惡意更新
攻擊向量 帳戶遭入侵、對 Skill 擁有者進行社交工程
受影響的元件 ClawHub 版本管理、自動更新流程
目前的緩解措施 版本指紋識別,新版本會重新執行審核/掃描
殘餘風險 高-自動更新可能在審查完成前拉取惡意版本
建議 更新簽章、復原能力、版本固定

T-PERSIST-003:竄改代理程式設定

屬性
ATLAS ID AML.T0010.002 - 供應鏈入侵:資料
說明 攻擊者修改代理程式設定以持續保有存取權限
攻擊向量 修改設定檔、注入設定
受影響的元件 代理程式設定、工具政策
目前的緩解措施 檔案權限
殘餘風險 中等-需要本機存取權限
建議 驗證設定完整性、記錄設定變更的稽核日誌

3.5 規避防禦(AML.TA0007)

T-EVADE-001:繞過審核模式

屬性
ATLAS ID AML.T0043 - 製作對抗性資料
說明 攻擊者製作 Skills 內容,以規避 ClawHub 的審核檢查
攻擊向量 Unicode 同形異義字、編碼技巧、動態載入
受影響的元件 ClawHub 審核/掃描管線
目前的緩解措施 靜態模式規則、鄰近 AST 的程式碼掃描、LLM 代理式風險審查、VirusTotal
殘餘風險 中等-新型混淆手法仍可能避開多層啟發式偵測
建議 隨著發現新的規避手法,持續擴充模式/行為語料庫

T-EVADE-002:內容包裝器逸出

屬性
ATLAS ID AML.T0043 - 製作對抗性資料
說明 攻擊者製作可逸出外部內容包裝器情境的內容
攻擊向量 標籤操控、情境混淆、指令覆寫
受影響的元件 外部內容包裝
目前的緩解措施 隨機邊界的 XML 風格標記與安全性通知,並偵測同形異義字/空白變體的標記偽造
殘餘風險 中等-經常發現新的逸出手法
建議 除了輸入端包裝之外,也進行輸出端驗證

3.6 探索(AML.TA0008)

T-DISC-001:列舉工具

屬性
ATLAS ID AML.T0040 - 存取 AI 模型推論 API
說明 攻擊者透過提示列舉可用工具
攻擊向量 類似「你有哪些工具?」的查詢
受影響的元件 代理程式工具登錄檔
目前的緩解措施 無特定措施
殘餘風險 低-工具通常已有文件說明
建議 考慮採用工具可見性控制

T-DISC-002:擷取工作階段資料

屬性
ATLAS ID AML.T0040 - 存取 AI 模型推論 API
說明 攻擊者從工作階段情境中擷取敏感資料
攻擊向量 「我們討論了什麼?」之類的查詢、情境探測
受影響的元件 工作階段逐字記錄、情境視窗
目前的緩解措施 依傳送者隔離工作階段(agent:channel:peer 鍵)
殘餘風險 中等-依設計可存取工作階段內的資料
建議 在情境中遮蔽敏感資料

3.7 收集與外洩(AML.TA0009、AML.TA0010)

T-EXFIL-001:透過 web_fetch 竊取資料

屬性
ATLAS ID AML.T0009 - 收集
說明 攻擊者指示代理程式將資料傳送至外部 URL,以使資料外洩
攻擊向量 提示注入導致代理程式將資料以 POST 傳送至攻擊者的伺服器
受影響的元件 web_fetch 工具
目前的緩解措施 封鎖對內部/私人網路的 SSRF(DNS 綁定與 IP 封鎖)
殘餘風險 高-仍允許任意外部 URL
建議 URL 允許清單、資料分類感知能力

T-EXFIL-002:未經授權傳送訊息

屬性
ATLAS ID AML.T0009 - 收集
說明 攻擊者使代理程式傳送包含敏感資料的訊息
攻擊向量 提示注入導致代理程式向攻擊者傳送訊息
受影響的元件 訊息工具、頻道整合
目前的緩解措施 外送訊息閘控
殘餘風險 中等-閘控可能遭繞過
建議 傳送給新收件者時要求明確確認

T-EXFIL-003:蒐集憑證

屬性
ATLAS ID AML.T0009 - 收集
說明 惡意 Skills 從代理程式情境中蒐集憑證
攻擊向量 Skills 程式碼讀取環境變數、設定檔
受影響的元件 Skills 執行環境
目前的緩解措施 ClawHub 憑證模式掃描(硬編碼秘密、搭配網路傳送的憑證環境變數存取);Skills 在執行階段不具執行沙箱
殘餘風險 嚴重-Skills 以代理程式權限執行
建議 將 Skills 執行置於沙箱中、隔離憑證

3.8 影響(AML.TA0011)

T-IMPACT-001:未經授權執行命令

屬性
ATLAS ID AML.T0031 - 破壞 AI 模型完整性
說明 攻擊者在使用者系統上執行任意命令
攻擊向量 提示注入結合繞過執行核准
受影響的元件 Bash 工具、命令執行
目前的緩解措施 執行核准、Docker 沙箱選項(預設執行階段後端)
殘餘風險 嚴重-停用沙箱時可能在主機上執行
建議 改善核准使用者體驗;停用沙箱的部署仍是操作員的刻意選擇,並明確記載於文件中

T-IMPACT-002:資源耗盡(DoS)

屬性
ATLAS ID AML.T0031 - 破壞 AI 模型完整性
說明 攻擊者耗盡 API 額度或運算資源
攻擊向量 自動大量傳送訊息、呼叫高成本工具
受影響的元件 閘道、代理程式工作階段、API 供應商
目前的緩解措施
殘餘風險 高-未針對個別傳送者限制速率
建議 針對個別傳送者設定速率限制與成本預算

T-IMPACT-003:聲譽損害

屬性
ATLAS ID AML.T0031 - 破壞 AI 模型完整性
說明 攻擊者使代理程式傳送有害/冒犯性內容
攻擊向量 提示注入導致不當回應
受影響的元件 輸出生成、頻道訊息傳送
目前的緩解措施 LLM 供應商內容政策
殘餘風險 中等-供應商的篩選機制並不完善
建議 輸出篩選層、使用者控制

4. ClawHub 供應鏈分析

4.1 目前的安全控制措施

控制措施 實作方式 有效性
GitHub 帳號年齡 requireGitHubAccountAge()(至少 14 天) 中等——提高新攻擊者的門檻
路徑清理 sanitizePath() 高——防止路徑遍歷
檔案類型驗證 isTextFile() 中等——僅掃描文字檔案,但仍可遭利用
大小限制 套件組合總計 50MB(MAX_PUBLISH_TOTAL_BYTES 高——防止資源耗盡
必須提供 SKILL.md 發布時必須提供讀我檔案 安全價值低——僅供參考
靜態與 AST 鄰近掃描 模式引擎涵蓋執行、資料外洩、憑證蒐集、混淆等行為 中高——涵蓋許多已知濫用模式,但仍以模式為基礎
基於 LLM 的代理式風險審查 發布時根據安全提示詞作出判定 中高——可發現靜態模式未能偵測的行為
VirusTotal 掃描 整合至 Skills 與套件版本的發布/重新掃描流程,並以操作者 API 金鑰為啟用條件 啟用時為高——靜態引擎偵測
審核狀態 moderationStatus 欄位 中等——可進行人工審查

4.2 審核限制

ClawHub 的靜態掃描會直接檢查 Skill 程式碼內容(而不僅是短名稱/中繼資料/frontmatter),涵蓋危險的執行呼叫、動態程式碼執行、憑證蒐集、資料外洩模式、混淆承載內容等。已知缺口包括:

  • 以模式為基礎的偵測仍可能遭足夠新穎的混淆手法規避。
  • 基於 LLM 的審查與 VirusTotal 掃描取決於是否啟用操作者端的 API 金鑰/設定。
  • Skill 安裝後,沒有執行階段沙箱能將其與代理程式本身的權限隔離。

4.3 徽章

Skills 與套件可帶有由審核人員指派的徽章:highlightedofficialdeprecatedredactionApproved(僅限 Skills)。社群檢舉(skillReports)與稽核記錄(auditLogs)為審核工作流程提供支援。


5. 風險矩陣

5.1 可能性與影響

威脅 ID 可能性 影響 風險等級 優先級
T-EXEC-001 嚴重 嚴重 P0
T-PERSIST-001 嚴重 嚴重 P0
T-EXFIL-003 嚴重 嚴重 P0
T-IMPACT-001 嚴重 P1
T-EXEC-002 P1
T-EXEC-004 P1
T-ACCESS-003 P1
T-EXFIL-001 P1
T-IMPACT-002 P1
T-EVADE-001 P2
T-ACCESS-001 P2
T-ACCESS-002 P2
T-PERSIST-002 P2

5.2 關鍵路徑攻擊鏈

攻擊鏈 1:透過 Skill 竊取資料

text
T-PERSIST-001 → T-EVADE-001 → T-EXFIL-003(發布惡意 Skill)→(規避審核)→(蒐集憑證)

攻擊鏈 2:從提示詞注入到遠端程式碼執行

text
T-EXEC-001 → T-EXEC-004 → T-IMPACT-001(注入提示詞)→(繞過執行核准)→(執行命令)

攻擊鏈 3:透過擷取內容進行間接注入

text
T-EXEC-002 → T-EXFIL-001 → 外部資料外洩(污染 URL 內容)→(代理程式擷取並遵循指示)→(將資料傳送給攻擊者)

6. 建議摘要

6.1 立即處理(P0)

ID 建議 處理的威脅
R-002 實作 Skill 執行沙箱 T-PERSIST-001, T-EXFIL-003
R-003 為敏感操作新增輸出驗證 T-EXEC-001, T-EXEC-002

6.2 短期(P1)

ID 建議 處理的威脅
R-004 實作依傳送者區分的速率限制 T-IMPACT-002
R-005 新增權杖靜態加密 T-ACCESS-003
R-006 改善執行核准的使用者體驗,並持續擴充命令正規化 T-EXEC-004
R-007 web_fetch 實作 URL 允許清單 T-EXFIL-001

6.3 中期(P2)

ID 建議 處理的威脅
R-008 在可行處新增密碼學通道驗證 T-ACCESS-002
R-009 實作設定完整性驗證 T-PERSIST-003
R-010 新增更新簽章與版本固定 T-PERSIST-002

7. 附錄

7.1 ATLAS 技術對應

ATLAS ID 技術名稱 OpenClaw 威脅
AML.T0006 主動掃描 T-RECON-001, T-RECON-002
AML.T0009 蒐集 T-EXFIL-001, T-EXFIL-002, T-EXFIL-003
AML.T0010.001 供應鏈:AI 軟體 T-PERSIST-001, T-PERSIST-002
AML.T0010.002 供應鏈:資料 T-PERSIST-003
AML.T0031 侵蝕 AI 模型完整性 T-IMPACT-001, T-IMPACT-002, T-IMPACT-003
AML.T0040 AI 模型推論 API 存取 T-ACCESS-001, T-ACCESS-002, T-ACCESS-003, T-DISC-001, T-DISC-002
AML.T0043 製作對抗性資料 T-EXEC-004, T-EVADE-001, T-EVADE-002
AML.T0051.000 LLM 提示詞注入:直接 T-EXEC-001, T-EXEC-003
AML.T0051.001 LLM 提示詞注入:間接 T-EXEC-002

7.2 關鍵安全檔案

路徑 用途 風險等級
src/infra/exec-approvals.ts 命令核准邏輯 嚴重
src/gateway/auth.ts 閘道身分驗證 嚴重
src/infra/net/ssrf.ts SSRF 防護 嚴重
src/security/external-content.ts 提示詞注入緩解措施 嚴重
src/agents/sandbox/tool-policy.ts 沙箱工具允許/拒絕政策 嚴重
src/routing/resolve-route.ts 工作階段隔離/路由

7.3 詞彙表

詞彙 定義
ATLAS MITRE 的 AI 系統對抗性威脅態勢框架
ClawHub OpenClaw 的 Skill 市集
閘道 OpenClaw 的訊息路由與身分驗證層
MCP 模型上下文協定——工具提供者介面
提示詞注入 將惡意指示嵌入輸入內容的攻擊
Skill 可供 OpenClaw 代理程式下載的擴充功能
SSRF 伺服器端請求偽造

此威脅模型是一份持續更新的文件。請將安全問題回報至 security@openclaw.ai,或參閱信任頁面

相關內容

Was this useful?
On this page

On this page