Jamf Concepts

Anleitungen

Erkennung, Blockierung und Behebung von OpenClaw mit Jamf

~9 min read

Zusammenfassung für die Geschäftsleitung

Agentic-AI-Tools wie OpenClaw (früher bekannt als Clawdbot und Moltbot) stellen eine neue Bedrohungsklasse für Organisationen dar und verwischen die Grenzen zwischen legitimen Benutzeraktivitäten und unbefugtem autonomem Zugriff auf Unternehmenssysteme.

Mitarbeiter könnten von OpenClaws vermeintlicher Benutzerfreundlichkeit und Personal-Assistant-Funktionen wie E-Mail-Zugriff, Kalenderplanung und Messaging angezogen werden, ohne die mit der Gewährung von umfassendem, unkontrolliertem Zugriff auf Unternehmensdaten verbundenen Risiken vollständig zu erkennen. Ohne fortschrittliche Überwachungs- und Analysefunktionen kann es für IT- und Sicherheitsteams schwierig sein, zwischen legitimen Benutzeraktionen und einem OpenClaw-Agent, der im Namen des Benutzers handelt, zu unterscheiden, wenn beide über dieselben authentifizierten APIs und Sitzungen auf Unternehmensressourcen zugreifen.

Diese Empfehlung beschreibt, wie Sie Jamf Security Cloud, Jamf Protect und Jamf Pro zusammen verwenden, um eine mehrstufige Abwehr gegen unbefugte OpenClaw-Nutzung auf verwalteten macOS-Geräten zu implementieren. Die Kontrollen umfassen Netzwerk-Blockierung, Binärausführungsprävention, Endpoint-Detection-Analytik, SIEM-Telemetrie, inventarbasierte Erkennung und automatische Entfernung.

Keine einzelne Kontrolle ist ausreichend. Jamf empfiehlt die Kombination mehrerer der folgenden Methoden für eine umfassende Verteidigungsstrategie.

Jamf Security Cloud – Content Filtering und Blockierung

Jamf Security Cloud umfasst kategoriebasiertes Content Filtering und Netzwerkblockierungsfunktionen, mit denen Organisationen den Zugriff auf Kategorien von Anwendungen und Websites überwachen und kontrollieren können.

Die folgenden häufig verwendeten Domains im Zusammenhang mit OpenClaw sind nun in der Kategorie „Andere generative KI" des Content Filtering enthalten:

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

Organisationen, die den Zugriff auf OpenClaw und andere Tools in dieser Kategorie blockieren möchten, können eine Content-Filtering-Richtlinie konfigurieren im Bereich „Richtlinien" von Jamf Security Cloud:

Jamf Security Cloud Content-Filtering-Richtlinie mit der Kategorie „Andere generative KI" und OpenClaw-Domains

Hinweis

Das Blockieren dieser Kategorie mindert die gängigste One-Line-Installationsmethode von der OpenClaw-Website, allerdings können fortgeschrittene Benutzer immer noch die Anweisungen im GitHub-Repository verwenden, um direkt über npm oder andere Paketmanager zu installieren. Verwenden Sie daher diese Kontrolle und Blockmethode in Kombination mit den anderen Sichtbarkeits- und Behebungskontrollen in diesem Artikel.

Jamf Protect – Benutzerdefinierte Blockierungslisten (OpenClaw Companion App)

OpenClaw unterstützt eine optionale Begleit-App für macOS, die zusätzliche plattformbasierte Tools wie Kamera- und Bildschirmaufzeichnungszugriff auf eine lokale oder Remote-OpenClaw-Gateway-Instanz bereitstellt. Da diese Begleit-App eine signierte macOS-Binärdatei ist, können Sie benutzerdefinierte Blockierungslisten in Jamf Protect verwenden, um die Laufzeitausführung auf verwalteten Geräten zu blockieren.

Jamf Protect Custom Prevent Lists Konfigurationsbereich

Um diese Blockierung zu implementieren, navigieren Sie im Jamf Protect Portal zu Threat Prevention > Custom Prevention Lists und klicken Sie auf Create Prevent List. Geben Sie Ihrer neuen Liste einen Namen wie „OpenClaw Companion App blockieren" und wählen Sie „Signing Information" als Prevent Type. Wählen Sie dann eine der folgenden Blockierungsmethoden (beide sind akzeptabel zum Blockieren der aktuellen Variante der App):

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

Dies führt dazu, dass die Begleit-App beim Start blockiert wird und der Benutzer eine aktive Blockierungsmeldung sieht:

macOS Blockierungsmeldung, die angezeigt wird, wenn die OpenClaw Companion App von Jamf Protect blockiert wird

Hinweis

Benutzerdefinierte Blockierungslisten unter Threat Prevention blockieren die Laufzeitausführung der OpenClaw Companion App, nicht aber die OpenClaw Gateway-Binärdatei und LaunchAgents, da diese nicht über die erforderlichen Signierungsbezeichner verfügen. Diese Blockierungsmethode ist nützlich, um sicherzustellen, dass Benutzer die Begleit-App nicht auf Geräten installieren und ausführen, ist aber nicht umfassend bei der Blockierung von OpenClaw auf macOS.

Jamf Protect – Benutzerdefinierte Analytik

Jamf hat eine Reihe von Jamf Protect Custom Analytics veröffentlicht, um Organisationen zu unterstützen, die die Installation, Persistenz und den Aufruf von OpenClaw in ihrer Umgebung erkennen möchten. Diese benutzerdefinierten Analytiken führen Dateisystem- und Prozesserkennung mit der filtergestützten Analytik-Engine von Jamf Protect durch, um OpenClaw-Artefakte auf einem Gerät zu erkennen und über Jamf Protect Alerting zurückzumelden.

Kunden können alle folgenden Analysen implementieren oder eine Teilmenge basierend auf ihren Anforderungen auswählen. Die Analysen sind auch als YAML-Definitionen im Jamf Protect Resources GitHub Repository verfügbar.

Erstellen einer benutzerdefinierten Analytik aus Filtertext

  1. Navigieren Sie im Jamf Protect Portal zu Configuration > Analytics und klicken Sie auf Create
  2. Setzen Sie den Sensor Type auf den für jede unten angegebene Analytik angegebenen Wert (entweder File System oder Process)
  3. Schalten Sie im Bereich Analytic Filter zu Filter Text View um
  4. Fügen Sie den unten bereitgestellten Filterausdruck ein
  5. Konfigurieren Sie den Schweregrad und alle gewünschten Analytic Actions (z. B. das Hinzufügen betroffener Geräte zu einer Jamf Pro Smart Group)

Jamf Protect Custom Analytic Erstellungsschnittstelle mit Filtertextansicht

OpenClaw Installation

Feld Wert
Name OpenClawInstallation
Sensor Type Process Event
Description Erkennung von OpenClaw-Installationsbefehlen von openclaw.ai.

Filter (Text View) Inhalt:

$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 Skills Installation

Feld Wert
Name ClawHubSkillsInstall
Sensor Type Process Event
Description Erkennung von Skills, die über npx, pnpm oder bun Befehle von ClawHub installiert wurden.

Filter (Text View) Inhalt:

$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 Onboard

Feld Wert
Name OpenClawOnboard
Sensor Type Process Event
Description Erkennung des OpenClaw Onboard Befehls zur Initiierung der Einrichtung.

Filter (Text View) Inhalt:

$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 Gateway Persistierung

Feld Wert
Name OpenClawGatewayPersistence
Sensor Type File System Event
Description Erkennung der OpenClaw Gateway Persistierung (~/Library/LaunchAgents/ai.openclaw.gateway.plist).

Filter (Text View) Inhalt:

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

OpenClaw Verzeichnis erstellt

Feld Wert
Name OpenClawDirectoryCreated
Sensor Type File System Event
Description Erkennung des versteckten OpenClaw Arbeitsverzeichnisses (.openclaw), das während der Einrichtung erstellt wird.

Filter (Text View) Inhalt:

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

Jamf Protect – Erweiterte Bedrohungskontrollen

Eine der möglichen Angriffstechniken, die sich aus der Verwendung von OpenClaw auf macOS ergeben, bezieht sich auf bösartige Skills, die Benutzer dazu verleiten sollen, Malware und Infostealers auf ihrem Gerät zu installieren.

Die Advanced Threat Controls von Jamf sollen eingreifen, wenn unsichere oder bösartige Aktivitäten erkannt werden, und bieten Schutz gegen häufige Techniken, die direkt in Malware beobachtet wurden, die mit diesen bösartigen Skills verbunden ist.

Organisationen können sowohl Advanced Threat Controls als auch Endpoint Threat Prevention in Jamf Protect aktivieren und je nach Risikotoleranz und betrieblichen Anforderungen Block and report oder Report only wählen.

Jamf Protect – Telemetrie

Kunden können Jamf Protect Telemetry für macOS verwenden, um System- und Benutzerereignisprotokoll-Daten zu sammeln und an ein SIEM oder einen Speicherort ihrer Wahl zu versenden.

Das Team von Jamf Threat Labs hat eine Reihe von Sigma-Regeln für häufige OpenClaw-Installations- und Aufrufbefehle erstellt, die in viele SIEM-Lösungen importiert und verwendet werden können:

Repository: jamf/jamfprotect — agentic_detections (Telemetry)

Mindestens müssen Geräte für die Erfassung von „Applications and processes" Protokollen konfiguriert werden, als Teil eines Telemetrie-Sets, um diese prozessgestützten exec Erkennungen nutzen zu können.

Jamf Protect Telemetrie-Set-Konfiguration mit der Protokollerfassungsoption „Applications and processes"

Jamf Pro – Extension Attribute Erkennungsskripte

Jamf hat zwei Extension Attribute Skripte für die inventarbasierte Erkennung von OpenClaw veröffentlicht:

Skills sind Markdown-basierte Dateien, die einer LLM/einem Agent Anweisungen zur Ausführung einer bestimmten Aufgabe geben, z. B. der Zugriff auf eine API oder die Verwendung einer Anwendung im Namen eines Benutzers. Organisationen, die OpenClaw zulassen, möchten möglicherweise separat darüber berichten, welche Skills verwendet werden, oder möchten möglicherweise separat nach bestimmten bösartigen Skills prüfen.

Jedes Skript kann als Computer Extension Attribute in Jamf Pro hinzugefügt werden, um das Vorhandensein von OpenClaw und seinen installierten Skills als Teil standardmäßiger Inventaraktualisierungsrichtlinien zu melden.

Die Erkennungsdetails umfassen die Benutzer und Arbeitsbereiche, für die OpenClaw erkannt wird, den aktuellen Gateway-Laufstatus und eine Liste der aktuell installierten oder verwendeten Skills:

Jamf Pro Extension Attribute Ergebnisse mit OpenClaw-Erkennungsdetails, Gateway-Status und installierten Skills

Für Kunden, die eine automatisierte Behebung anstreben, kann die Erkennung durch diese Extension Attributes als Grundlage für ein Jamf Pro Smart Group Prädikat verwendet werden, um dann eine automatisierte Behebungsrichtlinie auf Geräten auszulösen.

Jamf Pro – Behebung und Entfernung über Richtlinie

Sobald OpenClaw auf einem Gerät erkannt wurde, möchten Organisationen möglicherweise eine manuelle oder automatisierte Behebung und Entfernung implementieren. Jamf Pros Fähigkeit, richtliniengestützte Skripte auszuführen, bietet Flexibilität in der Durchführung der Behebung und kann mit Jamf Pro Extension Attributes oder Jamf Protect Custom Analytics (mit Analytic Remediation) integriert werden, um eine automatisierte richtliniengestützte Entfernung mit klaren Audit- und Protokollierungspfaden durchzuführen.

Jamf hat ein OpenClaw Entfernungsskript verfasst, das verschiedene Formen der OpenClaw-Installation auf macOS entfernen kann. Derzeit umfasst dies die Entfernung von:

  • Binärdateien, die mit dem curl-gestützten One-Liner-Installationsbefehl von openclaw.ai installiert wurden
  • Binärdateien, die mit den npm, pnpm und bun Paketmanagern installiert wurden
  • Die macOS OpenClaw Companion App
  • Docker-Images und Container mit openclaw Naming
  • Der Gateway-Service und LaunchAgent
  • Das .openclaw Arbeits-/Arbeitsverzeichnis für jeden Benutzer

Um die Behebung und Entfernung von OpenClaw mit Jamf Pro zu konfigurieren, können Sie ein neues Skript und eine Richtlinie erstellen und deren Umfang manuell oder über eine Smart Group auf Computer zuweisen, die ihre Mitgliedschaft auf einem der oben aufgeführten Erkennungsmechanismen basiert.

Hinweis

Das openclaw_removal.sh Skript wurde erstellt und bereitgestellt, um beim besten Versuch, die gängigsten Formen der aktuellen Iteration von OpenClaw und seiner Artefakte zum Zeitpunkt des Schreibens zu entfernen, zu unterstützen. Es ist nicht umfassend in der Entfernung aller Formen von OpenClaw (wie quellgestützte Installationen) oder Installationen, bei denen ein Benutzer das Vorhandensein von OpenClaw absichtlich verschleiert hat (z. B. durch Änderung von Binär- oder Verzeichnisnamen usw.). Es sollte Sorgfalt aufgewendet werden, wenn sich diese Tools weiterentwickeln, um sicherzustellen, dass die Entfernung mit anderen Erkennungsmethoden ordnungsgemäß validiert wird.

Hinweis

Sobald OpenClaw von einem System erkannt und entfernt wurde, können weitere Behebungsschritte nach der Entfernung erforderlich sein. Stellen Sie fest, ob Sie Token oder Sitzungen für verbundene Dienste (z. B. Google/Gmail, Microsoft, GitHub) oder Unternehmens-LLM oder Inference Provider (Anthropic, OpenAI usw.) widerrufen müssen.

Referenzen und weiterführende Literatur

Jamf Dokumentation

Jamf GitHub-Ressourcen

Externe Ressourcen