Security

威脅模型(MITRE ATLAS)

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

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

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


1. 範圍

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

不在範圍內的回報與誤判模式(公開網際網路曝露、未繞過邊界且僅涉及提示注入的攻擊鏈、彼此不信任的操作者共用同一部閘道主機,以及其他情況)列於 SECURITY.md;該檔案才是目前漏洞回報範圍的權威來源,而非本頁。

2. 系統架構

2.1 信任邊界

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

2.2 資料流程

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

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

3.1 偵察(AML.TA0002)

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

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

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 掃描 整合至 Skill 與套件版本的發布/重新掃描流程,並以操作者 API 金鑰為啟用條件 啟用時為高-靜態引擎偵測
管理狀態 moderationStatus 欄位 中等-可進行人工審查

4.2 管理限制

ClawHub 的靜態掃描會直接檢查 Skill 程式碼內容(不僅是 slug/中繼資料/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 新增靜態 Token 加密 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