Jamf Concepts

指南

使用 Jamf 偵測、封鎖及修復 OpenClaw

~4 min read

執行摘要

代理 AI 工具,例如 OpenClaw(先前稱為 Clawdbot 和 Moltbot)代表組織面臨的新型威脅;模糊了合法使用者活動與未授權自主存取企業系統之間的界線。

員工可能被 OpenClaw 的便利性及個人助理功能所吸引,例如電子郵件存取、日曆排程和訊息傳遞,但未完全認識到授予企業資料完全不受管制存取權所涉及的風險。在沒有進階監控和分析的情況下,IT 和安全團隊可能難以區分合法的人類行為和代表使用者操作的 OpenClaw 代理,兩者都透過相同的已驗證 API 和工作階段存取企業資源。

本建議說明如何搭配使用 Jamf Security Cloud、Jamf Protect 和 Jamf Pro,在受管理的 macOS 裝置上針對未授權的 OpenClaw 使用實施分層防禦。這些控制項涵蓋網路層級封鎖、二進位執行檔防護、端點偵測分析、SIEM 遙測、基於庫存的偵測和自動化移除。

單一控制項本身不足以應對。Jamf 建議結合部署以下多種方法,以實現深度防禦。

Jamf Security Cloud - 內容過濾與封鎖

Jamf Security Cloud 包含基於類別的內容過濾和網路封鎖功能,可讓組織監控和控制應用程式和網站類別的存取。

以下與 OpenClaw 相關的常見網域現已納入**「其他生成式 AI」**內容過濾類別:

  • openclaw.ai
  • clawhub.ai
  • open-claw.me
  • molt.bot
  • openclaw.bot

想要封鎖 OpenClaw 和此類別中其他工具存取權的組織可以在 Jamf Security Cloud 的「原則」區段內設定內容過濾原則

Jamf Security Cloud 內容過濾原則顯示「其他生成式 AI」類別和 OpenClaw 網域

注意

封鎖此類別將緩解來自 OpenClaw 網站最流行的單行安裝方法,但進階使用者仍可使用 GitHub 儲存庫中的指示透過 npm 或其他套件管理器直接安裝。因此,請搭配本文中列出的其他可見性和修復控制項考量此控制項和封鎖方法。

Jamf Protect - 自訂防止清單 (OpenClaw 配套應用程式)

OpenClaw 支援 macOS 的選用配套應用程式,可將相機和螢幕錄製存取等其他平台工具公開給本機或遠端 OpenClaw 閘道執行個體。由於此配套應用程式是已簽署的 macOS 二進位檔,您可以使用 Jamf Protect 中的自訂防止清單來封鎖其在受管理裝置上的執行時期。

Jamf Protect 自訂防止清單設定面板

若要實施此封鎖,請在 Jamf Protect 入口網站內瀏覽至 Threat Prevention > Custom Prevention Lists,然後按一下 Create Prevent List。為新清單命名,例如 「封鎖 OpenClaw 配套應用程式」,並選取 *「簽署資訊」*作為防止類型。然後選擇下列其中一個防止方法(兩者皆可接受用於封鎖目前的應用程式變種):

  • Team ID: Y5PE65HELJ
  • Signing ID: bot.molt.mac

這將導致配套應用程式在啟動時被封鎖,使用者會看到活躍的封鎖提示:

macOS 封鎖提示,在 Jamf Protect 防止 OpenClaw 配套應用程式時顯示

注意

威脅防禦下的自訂防止清單將封鎖 OpenClaw 配套應用程式的執行時期,但不會封鎖 OpenClaw 閘道二進位檔和 LaunchAgents,因為它們缺少必需的簽署識別符。此防止方法適用於確保使用者不在裝置上安裝並執行配套應用程式,但它不是封鎖 macOS 上 OpenClaw 的詳盡方法。

Jamf Protect - 自訂分析

Jamf 已發布一系列 Jamf Protect 自訂分析,以支援想要在其環境中偵測 OpenClaw 的安裝、持續性和引用的組織。這些自訂分析使用 Jamf Protect 的基於篩選條件的分析引擎執行檔案系統和流程偵測,以偵測裝置上的 OpenClaw 成品並透過 Jamf Protect 警示回報。

客戶可以實施以下所有分析或根據其需求選擇子集。這些分析也可作為 YAML 定義在 Jamf Protect 資源 GitHub 儲存庫中取得。

如何從篩選條件文字建立自訂分析

  1. 在 Jamf Protect 入口網站中,瀏覽至 Configuration > Analytics 並按一下 Create
  2. Sensor Type 設定為下方為每個分析指定的值(檔案系統或流程)
  3. 在分析篩選條件區段中,切換至 Filter Text View
  4. 將下方提供的篩選條件運算式貼上
  5. 設定嚴重性和任何所需的分析動作(例如將受影響的裝置新增至 Jamf Pro Smart Group)

Jamf Protect 自訂分析建立介面顯示篩選條件文字檢視

OpenClaw 安裝

欄位
Name OpenClawInstallation
Sensor Type Process Event
Description 偵測來自 openclaw.ai 的 OpenClaw 安裝命令。

篩選條件(文字檢視)內容:

$event.type == 1 AND
  $event.process.args.@count > 1 AND
  (
    (
      (ANY $event.process.args CONTAINS[c] "npm") AND
      (ANY $event.process.args BEGINSWITH "openclaw") AND
      (
        (ANY $event.process.args == "i") OR
        (ANY $event.process.args == "install") OR
        (ANY $event.process.args == "add") OR
        (ANY $event.process.args == "in") OR
        (ANY $event.process.args == "ins") OR
        (ANY $event.process.args == "inst") OR
        (ANY $event.process.args == "insta") OR
        (ANY $event.process.args == "instal") OR
        (ANY $event.process.args == "isnt") OR
        (ANY $event.process.args == "isnta") OR
        (ANY $event.process.args == "isntal") OR
        (ANY $event.process.args == "isntall")
      ) AND
      $event.process.path.lastPathComponent == "node"
    ) OR
    (
      (ANY $event.process.args BEGINSWITH "openclaw") AND
      (ANY $event.process.args == "add") AND
      $event.process.path.lastPathComponent == "pnpm"
    )
  )

ClawHub 技能安裝

欄位
Name ClawHubSkillsInstall
Sensor Type Process Event
Description 偵測透過 npx、pnpm 或 bun 命令從 ClawHub 安裝的技能。

篩選條件(文字檢視)內容:

$event.type == 1 AND
  $event.process.args.@count > 1 AND
  (
    (
      (
        (
          (ANY $event.process.args CONTAINS[c] "/npx") OR
          (ANY $event.process.args CONTAINS[c] "/pnpm")
        ) AND
        (ANY $event.process.args BEGINSWITH[c] "clawhub")
      ) OR
      (
        (ANY $event.process.args CONTAINS[c] "/bunx-") AND
        (ANY $event.process.args CONTAINS[c] "/clawhub")
      )
    ) AND
    (ANY $event.process.args == "install") AND
    $event.process.path.lastPathComponent == "node"
  )

OpenClaw 上線

欄位
Name OpenClawOnboard
Sensor Type Process Event
Description 偵測 OpenClaw 上線命令以啟動設定。

篩選條件(文字檢視)內容:

$event.type == 1 AND
  $event.process.args.@count > 1 AND
  (
      (ANY $event.process.args CONTAINS[c] "openclaw") AND
      (ANY $event.process.args == "onboard")
  ) AND
  $event.process.parent.path.lastPathComponent == "node"

OpenClaw 閘道持續性

欄位
Name OpenClawGatewayPersistence
Sensor Type File System Event
Description 偵測 OpenClaw 的閘道持續性 (~/Library/LaunchAgents/ai.openclaw.gateway.plist)。

篩選條件(文字檢視)內容:

("LaunchDaemon" IN $tags OR "LaunchAgent" IN $tags) AND
  $event.path.lastPathComponent BEGINSWITH "ai.openclaw."

OpenClaw 目錄已建立

欄位
Name OpenClawDirectoryCreated
Sensor Type File System Event
Description 偵測 OpenClaw 的隱藏工作區目錄 (.openclaw),在設定期間建立。

篩選條件(文字檢視)內容:

$event.path MATCHES "\\/Users\\/[^\\/]+\\/\\.openclaw" AND
  $event.isNewDirectory == 1

Jamf Protect - 進階威脅控制

源於在 macOS 上使用 OpenClaw 的潛在攻擊技術之一與試圖引誘使用者在其裝置上安裝惡意軟體和資訊竊取者的惡意技能有關。

Jamf Protect 的進階威脅控制旨在在偵測到不安全或惡意活動時進行干預,並針對與這些惡意技能相關的惡意軟體中直接觀察到的常見技術提供保護。

組織可以在 Jamf Protect 內啟用進階威脅控制端點威脅防禦,並根據其風險承受度和營運需求選擇封鎖並回報僅回報

Jamf Protect - 遙測

客戶可以使用 macOS 的 Jamf Protect 遙測收集系統和使用者事件記錄資料,並將其傳送至 SIEM 或他們選擇的存放位置。

Jamf Threat Labs 團隊已為常見 OpenClaw 安裝和引用命令建立一系列 Sigma 規則,可以匯入並用於許多 SIEM 解決方案:

儲存庫: jamf/jamfprotect — agentic_detections (Telemetry)

裝置必須至少設定為**「應用程式和流程」**記錄收集,作為遙測設定的一部分,以採用這些基於流程的 exec 偵測。

Jamf Protect 遙測設定顯示「應用程式和流程」記錄收集選項

Jamf Pro - 擴充屬性偵測指令碼

Jamf 已發布兩個擴充屬性指令碼,用於 OpenClaw 的基於庫存的偵測:

技能是基於 Markdown 的檔案,提供 LLM/代理如何執行特定任務(例如存取 API 或代表使用者使用應用程式)的指示。允許 OpenClaw 的組織可能希望分別報告使用中的技能,或可能希望分別稽核特定的惡意技能

每個指令碼都可以在 Jamf Pro 中新增為電腦擴充屬性,以作為標準庫存更新原則的一部分報告 OpenClaw 及其已安裝技能的存在。

偵測詳細資料包括偵測到 OpenClaw 的使用者和工作區、目前的閘道執行狀態,以及目前安裝或使用中的技能清單:

Jamf Pro 擴充屬性結果顯示 OpenClaw 偵測詳細資料、閘道狀態和已安裝的技能

對於希望追求自動化修復的客戶,可以使用透過這些擴充屬性進行的偵測作為 Jamf Pro Smart Group 謂詞的基礎,然後在裝置上觸發自動化修復原則。

Jamf Pro - 透過原則進行修復和移除

在裝置上偵測到 OpenClaw 後,組織可能希望實施手動或自動化修復和移除。Jamf Pro 執行基於原則的指令碼的能力提供了修復方式的靈活性,並可以與 Jamf Pro 擴充屬性或 Jamf Protect 自訂分析(具有分析修復)整合,以執行自動化基於原則的移除,並具有清晰的稽核和記錄軌跡。

Jamf 已編寫一個OpenClaw 移除指令碼,能夠移除 macOS 上各種形式的 OpenClaw 安裝。目前,這包括移除:

  • 使用來自 openclaw.ai 的 curl 型單行安裝命令安裝的二進位檔
  • 使用 npmpnpmbun 套件管理器安裝的二進位檔
  • macOS OpenClaw 配套應用程式
  • 符合 openclaw 命名的 Docker 映像和容器
  • 閘道服務和 LaunchAgent
  • 每個使用者的 .openclaw 工作/工作區目錄

為了使用 Jamf Pro 設定 OpenClaw 的修復和移除,您可以建立新指令碼和原則,並將其範圍分配給電腦(手動或透過基於上述其中一個偵測機制成員資格的 Smart Group)。

注意

openclaw_removal.sh 指令碼已建立並提供,以在編寫時提供最佳努力來移除最常見形式的目前 OpenClaw 反覆項目及其成品。它在移除所有形式的 OpenClaw(例如基於原始碼的安裝)或使用者故意隱蔽 OpenClaw 存在的安裝(例如變更二進位檔或目錄名稱等)方面並不詳盡。隨著這些工具的演進,應謹慎確保使用其他偵測方法適當驗證移除。

注意

在系統上偵測並移除 OpenClaw 後,可能需要執行其他移除後修復步驟。考慮您是否需要撤銷任何已連線服務(例如 Google/Gmail、Microsoft、GitHub)或任何企業 LLM 或推論提供者(Anthropic、OpenAI 等)的權杖或工作階段。

參考資源和進階閱讀

Jamf 文件

Jamf GitHub 資源

外部資源