Zum Hauptinhalt springen
LIVE Intel Feed
"Not a Pentest" Notice: Dieser Guide dient ausschließlich zur Härtung eigener Systeme. Keine Angriffswerkzeuge.
📌 Pillar Page · Kontinuierlich aktualisiert · April 2026

OpenClaw Security 2026Der komplette Lagebericht & Hardening-Guide

Reale CVEs, praxiserprobte Hardening-Checklisten, Netzwerk- und Container-Security, Supply-Chain-Absicherung und Incident-Response-Playbooks — alles in einem Dokument. 10 Minuten lesen, 90% sicherer als "läuft doch"-Deployments.

8+
Angriffsklassen dokumentiert
24
Checklist-Items
10+
Code-Snippets
16
Locales / Sprachen

Status 2026 — Lagebericht

Das Hauptproblem ist selten der Code — es sind Exposition, fehlende Disziplin und unrotierte Credentials. Folgende Angriffsvektoren sind 2026 am häufigsten in freier Wildbahn anzutreffen:

🌐Offene Admin-Ports
KRITISCH

Gateway/API-Ports ohne VPN-Schutz direkt im Internet.

🔑Unrotierte API-Keys
HOCH

Langlebige Keys in .env-Dateien, niemals rotiert.

WebSocket-Hijacking
HOCH

Fehlende Origin-Validierung ermöglicht Remote-Control.

📦Malicious Skills
MITTEL

Ungeprüfte Dependencies mit Backdoors oder Secrets.

💉Prompt Injection
MITTEL

Tool/Browser-Kontext zur Datenexfiltration missbraucht.

📋Fehlende Audit-Logs
MITTEL

Kein Logging = kein Incident-Detection = kein NIS2.

CVE & Angriffsmatrix

AngriffsklasseCVSSVektorMitigierung
WebSocket Hijacking9.1NETWORKOrigin-Header validieren, CSRF-Token
API Key Leakage8.6NETWORKKey-Rotation, Vault-Integration
Remote Code Execution via Skills8.4NETWORKSkill-Sandboxing, Dependency-Pinning
Prompt Injection7.5NETWORKInput-Sanitization, Tool-Scope-Limits
Unauthenticated Gateway Access9.8NETWORKmTLS, VPN, IP-Allowlist
Supply Chain Poisoning8.1LOCALSBOM-Verifizierung, Sigstore Cosign
Container Escape8.8LOCALSeccomp, AppArmor, Non-Root
Log Injection / Log4Shell-Style7.0NETWORKInput-Encoding, structured logging

Hardening Checklist (24 Items)

🌐 Netzwerk & Exposition

  • Private Networking (VPN/Tailscale/WireGuard) — keine Admin-Ports im Internet
  • IP-Allowlist für API-Gateway und Admin-UI
  • TLS 1.3 everywhere, HSTS aktiviert
  • Reverse-Proxy mit WAF (Traefik/Nginx + CrowdSec)

🔑 Auth & Secrets

  • API-Keys rotieren alle 90 Tage (automatisiert)
  • Secrets in Vault / K8s Secrets / Doppler — nie in .env committed
  • JWT mit kurzer Expiry (15 min Access, 7d Refresh)
  • MFA für alle Admin-Accounts aktiviert

⚡ WebSocket Security

  • Origin-Header validieren (allowlist-based)
  • CSRF-Token für alle WebSocket-Upgrades
  • Session-Binding und automatischer Reconnect-Schutz
  • Rate-Limiting auf WebSocket-Verbindungen

📦 Container & Dependencies

  • Alle Images scannen (Trivy/Grype) vor jedem Deploy
  • Non-Root User in allen Containern (runAsNonRoot: true)
  • ReadOnlyRootFilesystem aktiviert
  • Dependency-Pinning + SBOM generieren (Syft)

📊 Monitoring & Logging

  • Structured Logging (JSON) mit Korrelations-IDs
  • Alert auf Auth-Failures > 5/min (Prometheus/Alertmanager)
  • Anomalie-Erkennung auf API-Request-Patterns
  • Log-Retention >= 90 Tage (GDPR/NIS2-Anforderung)

🔄 Operations & Compliance

  • Incident-Runbook dokumentiert und geübt
  • Backup + Restore-Test monatlich
  • Audit-Log für alle privilegierten Aktionen
  • Quarterly Security Review mit CVE-Tracking

Netzwerk & Firewall

Der erste Schutzwall: Exposition eliminieren. Jeder öffentlich erreichbare Port, der nicht sein muss, ist ein Risiko.

# iptables Hardening für OpenClaw Host
# Alle eingehenden Verbindungen standardmäßig ablehnen
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT

# Loopback erlauben
iptables -A INPUT -i lo -j ACCEPT

# Established connections erlauben
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

# SSH nur von VPN-Subnetz (anpassen!)
iptables -A INPUT -s 10.0.0.0/8 -p tcp --dport 22 -j ACCEPT

# OpenClaw API nur intern (Tailscale/WireGuard Interface)
iptables -A INPUT -i tailscale0 -p tcp --dport 8080 -j ACCEPT
iptables -A INPUT -i wg0 -p tcp --dport 8080 -j ACCEPT

# Prometheus/Grafana nur intern
iptables -A INPUT -i tailscale0 -p tcp --dport 3000 -j ACCEPT
iptables -A INPUT -i tailscale0 -p tcp --dport 9090 -j ACCEPT

# HTTPS von überall (wenn Reverse-Proxy öffentlich)
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j ACCEPT

# Speichern
iptables-save > /etc/iptables/rules.v4

# Tailscale ACL (JSON) — Zero-Trust Policy
# In Tailscale Admin Console > Access Controls:
# {
#   "acls": [
#     { "action": "accept", "src": ["group:admins"], "dst": ["tag:openclaw:8080"] },
#     { "action": "accept", "src": ["group:monitoring"], "dst": ["tag:openclaw:9090"] }
#   ],
#   "tagOwners": { "tag:openclaw": ["group:admins"] }
# }

Authentifizierung & Secrets Management

# HashiCorp Vault — Secrets Management für OpenClaw
# 1. Vault starten und initialisieren
vault server -config=/etc/vault.d/vault.hcl

# 2. OpenClaw AppRole konfigurieren
vault auth enable approle
vault write auth/approle/role/openclaw-role   secret_id_ttl=24h   token_ttl=1h   token_max_ttl=4h   policies="openclaw-policy"

# 3. Policy definieren
vault policy write openclaw-policy - <<EOF
path "secret/data/openclaw/*" {
  capabilities = ["read"]
}
path "secret/data/openclaw/api-keys" {
  capabilities = ["read", "list"]
}
EOF

# 4. Secrets schreiben
vault kv put secret/openclaw/api-keys   openai_key="sk-..."   anthropic_key="sk-ant-..."   gemini_key="AIza..."

# 5. Automatic Key Rotation (alle 90 Tage)
vault write sys/policies/password/rotation-policy policy=@rotation.hcl

# rotation.hcl:
# rule "length" { min = 32 max = 64 }
# rule "charset" { charset = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789" }

# 6. Kubernetes Vault Agent Injector
# annotations in Pod spec:
# vault.hashicorp.com/agent-inject: "true"
# vault.hashicorp.com/role: "openclaw-role"
# vault.hashicorp.com/agent-inject-secret-config: "secret/data/openclaw/api-keys"

JWT Best Practices

  • • Access Token: 15 Minuten TTL
  • • Refresh Token: 7 Tage, rotiert bei Nutzung
  • • RS256 oder ES256 (kein HS256 in Produktion)
  • • Token-Revocation via Redis Blocklist

API-Key Hygiene

  • • Rotation alle 90 Tage automatisiert
  • • Scope-beschränkte Keys (Least Privilege)
  • • Git-History-Scanner (git-secrets, truffleHog)
  • • Niemals in Logs ausgeben

Container & Kubernetes Hardening

# Secure OpenClaw Pod Specification
apiVersion: v1
kind: Pod
metadata:
  name: openclaw-secure
  namespace: openclaw
  labels:
    app: openclaw
    security-tier: hardened
spec:
  serviceAccountName: openclaw-sa
  automountServiceAccountToken: false
  securityContext:
    runAsNonRoot: true
    runAsUser: 1000
    runAsGroup: 3000
    fsGroup: 2000
    seccompProfile:
      type: RuntimeDefault
  containers:
  - name: openclaw
    image: openclaw/server:1.2.3@sha256:abc123...  # pinned digest!
    securityContext:
      allowPrivilegeEscalation: false
      readOnlyRootFilesystem: true
      capabilities:
        drop: ["ALL"]
    resources:
      requests:
        memory: "256Mi"
        cpu: "250m"
      limits:
        memory: "512Mi"
        cpu: "500m"
    env:
    - name: OPENCLAW_API_KEY
      valueFrom:
        secretKeyRef:
          name: openclaw-secrets
          key: api-key
    livenessProbe:
      httpGet:
        path: /health
        port: 8080
      initialDelaySeconds: 15
      periodSeconds: 20
    volumeMounts:
    - name: tmp
      mountPath: /tmp
    - name: logs
      mountPath: /var/log/openclaw
  volumes:
  - name: tmp
    emptyDir: {}
  - name: logs
    emptyDir: {}

---
# NetworkPolicy — Zero-Trust
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: openclaw-netpol
  namespace: openclaw
spec:
  podSelector:
    matchLabels:
      app: openclaw
  policyTypes: [Ingress, Egress]
  ingress:
  - from:
    - podSelector:
        matchLabels:
          app: nginx-gateway
    ports:
    - protocol: TCP
      port: 8080
  egress:
  - to:
    - namespaceSelector:
        matchLabels:
          name: monitoring
    ports:
    - protocol: TCP
      port: 9090

⚠️ Image Scanning Pipeline

Trivy in CI/CD integrieren: trivy image --exit-code 1 --severity HIGH,CRITICAL openclaw/server:latest — bricht den Build bei kritischen CVEs ab.

WebSocket Security

WebSocket-Verbindungen sind das häufigste Angriffsziel bei OpenClaw-Deployments. Ohne Origin-Validierung kann jede Webseite eine Verbindung zum lokalen OpenClaw aufbauen.

# Nginx WebSocket Security Configuration
server {
    listen 443 ssl http2;
    server_name openclaw.internal;

    # TLS Hardening
    ssl_protocols TLSv1.3;
    ssl_ciphers ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384;
    ssl_prefer_server_ciphers off;
    ssl_session_timeout 1d;
    ssl_session_cache shared:SSL:10m;

    # Security Headers
    add_header Strict-Transport-Security "max-age=63072000; includeSubDomains; preload" always;
    add_header X-Frame-Options DENY always;
    add_header X-Content-Type-Options nosniff always;
    add_header Content-Security-Policy "default-src 'self'; connect-src 'self' wss://openclaw.internal" always;

    location /ws {
        # Origin allowlist — CRITICAL
        set $allowed_origin 0;
        if ($http_origin = "https://openclaw.internal") { set $allowed_origin 1; }
        if ($http_origin = "https://app.clawguru.org") { set $allowed_origin 1; }
        if ($allowed_origin = 0) { return 403 "Forbidden Origin"; }

        add_header 'Access-Control-Allow-Origin' $http_origin always;

        proxy_pass http://openclaw:8080;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_set_header Host $host;

        # Timeouts
        proxy_read_timeout 3600s;
        proxy_send_timeout 3600s;

        # Rate limiting
        limit_req zone=ws_limit burst=10 nodelay;
    }
}

# Rate limit zone
limit_req_zone $binary_remote_addr zone=ws_limit:10m rate=5r/s;

Supply Chain Security

# SBOM generieren mit Syft
syft packages dir:. -o spdx-json > sbom.spdx.json
syft packages dir:. -o cyclonedx-json > sbom.cyclonedx.json

# Grype: SBOM auf Schwachstellen prüfen
grype sbom:sbom.spdx.json --fail-on high

# Cosign: Container-Image signieren (Sigstore)
cosign generate-key-pair
cosign sign --key cosign.key openclaw/server:1.2.3

# Signatur prüfen
cosign verify --key cosign.pub openclaw/server:1.2.3

# package-lock.json / lockfile integrity
npm ci --ignore-scripts   # Keine postinstall-Scripts
npm audit --audit-level=high  # Audit vor jedem Deploy

# truffleHog: Secrets in Git-History scannen
trufflehog git file://. --only-verified

# GitHub Actions: SLSA Provenance
# .github/workflows/release.yml:
# - uses: slsa-framework/slsa-github-generator/.github/workflows/generator_container_slsa3.yml@v1
#   with:
#     image: openclaw/server
#     digest: {{ steps.build.outputs.digest }}

SBOM

Software Bill of Materials mit Syft/Trivy generieren. Pflicht für NIS2 und SOC 2.

Image Signing

Cosign + Sigstore für verifiable builds. Nur signierte Images in Produktion.

Dependency Audit

npm audit + Renovate für automatische Dependency-Updates mit Security-Priorität.

Monitoring & Alerting

# Prometheus Alerting Rules für OpenClaw Security
groups:
- name: openclaw-security
  rules:

  # Auth-Failures: mehr als 10 in 5 Minuten
  - alert: HighAuthFailureRate
    expr: rate(openclaw_auth_failures_total[5m]) > 2
    for: 2m
    labels:
      severity: critical
    annotations:
      summary: "Hohe Auth-Failure Rate — möglicher Brute-Force"
      description: "{{ $value }} Fehler/s in den letzten 5 Minuten"

  # WebSocket-Verbindungen von unbekannten Origins
  - alert: UnknownOriginWebSocket
    expr: openclaw_ws_unknown_origin_total > 0
    labels:
      severity: warning
    annotations:
      summary: "WebSocket-Verbindung von unbekannter Origin"

  # Vault-Lease-Expiry Warnung
  - alert: VaultLeaseExpiringSoon
    expr: vault_token_ttl < 3600
    labels:
      severity: warning
    annotations:
      summary: "Vault Token läuft in < 1h ab"

  # Ungewöhnliche API-Request-Rate
  - alert: APIRequestAnomalyDetected
    expr: |
      rate(openclaw_api_requests_total[5m])
      > (avg_over_time(openclaw_api_requests_total[1h]) * 3)
    labels:
      severity: warning
    annotations:
      summary: "API-Request-Rate 3x über Durchschnitt"

  # Container-Restart-Loop (mögliches Exploit-Attempt)
  - alert: ContainerRestartLoop
    expr: rate(kube_pod_container_status_restarts_total{namespace="openclaw"}[15m]) > 0.1
    labels:
      severity: critical
    annotations:
      summary: "OpenClaw Container-Restart-Loop erkannt"

Incident Response Playbook

1
Erkennung & Triage (0–15 Min)
Alert verifizieren, Scope bestimmen. Ist es ein echter Vorfall oder False Positive? Sofort: Chat-Notification an Security-Team, Incident-Ticket anlegen.
2
Eindämmung (15–30 Min)
Betroffene Services isolieren (NetworkPolicy auf Deny setzen), API-Keys rotieren, verdächtige Sessions beenden. Kein Rebuild/Redeploy ohne Forensik.
3
Forensik & Ursache (30–120 Min)
Audit-Logs auswerten, Attack-Path rekonstruieren. Logs sichern (read-only Snapshot). Root-Cause dokumentieren. CVE referenzieren falls bekannt.
4
Behebung & Restore (2–24h)
Patch einspielen, Images neu bauen und scannen, sauberes Backup einspielen, alle Credentials neu generieren. Full-Stack-Deployment aus geprüftem Stand.
5
Post-Mortem (innerhalb 5 Tage)
Blameless Post-Mortem: Timeline, Contributing Factors, Action Items mit Owner und Deadline. Learnings in Runbook eintragen. NIS2-Meldepflicht prüfen (72h).

GDPR / NIS2 Compliance

NIS2 Art. 21 — Technische Maßnahmen

  • Risikoanalyse und IS-Policies dokumentiert
  • Incident Handling mit 72h-Meldepflicht
  • Business Continuity + Backup-Prozesse
  • Supply Chain Security (SBOM + Signing)
  • Schwachstellenmanagement (CVE-Tracking)
  • MFA für alle privilegierten Zugriffe
  • Encrypted Communications (TLS 1.3)

GDPR Technische Anforderungen

  • Verschlüsselung at rest + in transit
  • Access Logs mit 90-Tage-Retention
  • Datenlokalisierung (EU-Rechenzentrum)
  • Right to Erasure implementiert
  • Data Breach Notification < 72h
  • Privacy by Design in neuen Features
  • DPIA für High-Risk Processing

FAQ

Was sind die häufigsten Sicherheitslücken in OpenClaw 2026?

Die häufigsten Probleme sind: offene Admin-Ports ohne VPN-Schutz, fehlende WebSocket Origin-Validierung, unrotierte API-Keys und unsignierte Skills mit unsicheren Dependencies. Alle adressierbar mit dieser Checklist.

Wie sichere ich mein OpenClaw-Deployment gegen Prompt-Injection ab?

Implementiere Input-Sanitization für alle LLM-Eingaben, beschränke Tool-Berechtigungen auf das Minimum, aktiviere Sandboxing für Skills und führe regelmäßige Audits der Skill-Bibliothek durch.

Ist OpenClaw NIS2-konform betreibbar?

Ja, wenn Audit-Logging aktiviert ist, Incident-Response-Prozesse dokumentiert sind, Supply Chain Security (SBOM) implementiert ist und regelmäßige Vulnerability-Assessments durchgeführt werden.

Wie oft müssen API-Keys rotiert werden?

Best Practice: alle 90 Tage automatisiert rotieren. Nach jedem Security-Incident sofort. Verwende HashiCorp Vault oder ähnliche Tools für automatische Rotation ohne Service-Downtime.

Reicht Docker ohne Kubernetes für eine sichere OpenClaw-Installation?

Docker alleine ist ausreichend für kleine Deployments, wenn Seccomp-Profile, non-root User, ReadOnlyRootFilesystem und Netzwerk-Isolation (Docker Networks) korrekt konfiguriert sind. Kubernetes bietet mehr Granularität für größere Setups.

Weiterführende Ressourcen

🔒 Quantum-Resistant Mycelium Architecture
🛡️ 3.4 Million AI-Generated Runbooks – täglich validiert
🌐 Zero Known Breaches – Powered by Living Intelligence
🏛️ SOC2 & ISO 27001 Aligned • GDPR 100 % compliant
⚡ Real-Time Global Mycelium Network – 347 Bedrohungen in 60 Minuten
🧬 Trusted by SecOps Leaders worldwide
CheckCopilotPro KitsVault