Dotyczy OpenClaw v2026.2 | Ten artykuł jest przeznaczony dla wszystkich użytkowników OpenClaw, szczególnie tych przygotowujących się do wdrożenia produkcyjnego lub użytku zespołowego.
TL;DR: Parowanie DM zapobiega nieautoryzowanemu dostępowi: "dmPolicy": "pairing". Sandbox izoluje niebezpieczne operacje: "sandbox": {"mode": "non-main"}. Filtrowanie danych wrażliwych: "security": {"sensitiveData": {"patterns": ["sk-*"]}}. Do zdalnego dostępu używaj Tailscale zamiast ekspozycji na internet publiczny. Uruchom openclaw doctor --security, aby sprawdzić stan bezpieczeństwa.
Przegląd zagrożeń bezpieczeństwa
Główne typy zagrożeń
| Typ zagrożenia | Opis | Potencjalne konsekwencje |
|---|---|---|
| Nieautoryzowany dostęp | Obca osoba może korzystać z Twojego Agenta | Nadużycie zasobów, wyciek prywatności |
| Nadużycie uprawnień | Agent wykonuje operacje wykraczające poza oczekiwania | Uszkodzenie danych, awaria systemu |
| Wyciek danych | Niewłaściwa obsługa wrażliwych informacji | Wyciek prywatności, problemy z compliance |
| Atak sieciowy | Zewnętrzny atakujący wykorzystuje luki | Włamanie do systemu, kradzież danych |
| Wstrzykiwanie promptów | Złośliwe instrukcje obchodzące zabezpieczenia | Nieautoryzowane operacje |
Model bezpieczeństwa
flowchart TB
subgraph Zewnętrzna["Warstwa sieciowa"]
FW[Firewall]
TLS[HTTPS/TLS]
end
subgraph Środkowa["Kontrola dostępu"]
DM[Parowanie DM]
WL[Biała lista]
AUTH[Uwierzytelnianie]
end
subgraph Wewnętrzna["Kontrola wykonania"]
SBX[Sandbox]
PERM[Uprawnienia]
AUDIT[Audyt]
end
subgraph Rdzeń["Agent"]
AG[Rdzeń Agenta]
end
Zewnętrzna --> Środkowa --> Wewnętrzna --> Rdzeń
Mechanizm parowania DM
Czym jest parowanie DM?
Parowanie DM (Direct Message) to mechanizm ochronny wymagający, aby nowi użytkownicy najpierw ukończyli proces parowania, zanim będą mogli rozmawiać z Agentem.
Proces parowania
sequenceDiagram
participant S as Obcy
participant B as Bot
participant G as Gateway
participant O as Właściciel
S->>B: Wysyła wiadomość "Cześć"
B->>G: Wiadomość dociera
G->>G: Sprawdzanie statusu parowania
G-->>B: Nie sparowano, generowanie kodu
B-->>S: "Proszę sparować: kod ABC123"
S->>O: Przekazuje właścicielowi kod parowania
O->>G: openclaw pairing approve telegram ABC123
G->>G: Dodanie do białej listy
G-->>S: Parowanie zakończone sukcesem
S->>B: Wysyła wiadomość "Cześć"
B-->>S: Normalna odpowiedź
Konfiguracja parowania DM
{
"channels": {
"telegram": {
"botToken": "your_token",
"dmPolicy": "pairing"
},
"whatsapp": {
"dmPolicy": "pairing"
},
"discord": {
"dmPolicy": "pairing"
}
}
}
Tryby parowania
| Tryb | Opis | Poziom bezpieczeństwa | Zastosowanie |
|---|---|---|---|
pairing |
Wymaga kodu parowania | ⭐⭐⭐⭐ | Użytek osobisty (domyślnie) |
open |
Każdy może korzystać | ⭐ | Usługa publiczna |
whitelist |
Tylko użytkownicy z białej listy | ⭐⭐⭐⭐⭐ | Wysokie wymagania bezpieczeństwa |
Zarządzanie parowaniem
# Wyświetl oczekujące żądania parowania
openclaw pairing list
# Przykładowe wyjście:
# Channel Code User Created
# telegram ABC123 @stranger 2026-02-26 10:30:00
# discord XYZ789 user#1234 2026-02-26 10:35:00
# Zatwierdź parowanie
openclaw pairing approve telegram ABC123
# Odrzuć parowanie
openclaw pairing reject telegram ABC123
# Wyświetl sparowanych użytkowników
openclaw pairing show telegram
Konfiguracja białej listy
{
"channels": {
"telegram": {
"dmPolicy": "open",
"allowFrom": [
123456789,
987654321
]
},
"whatsapp": {
"dmPolicy": "open",
"allowFrom": [
"+8613800138000",
"+8613800138001"
]
}
}
}
Pobieranie identyfikatora użytkownika
# Telegram: wyślij wiadomość do @userinfobot
# Discord: użyj komendy /id w kanale lub sprawdź profil użytkownika
# WhatsApp: pobierz z informacji kontaktowych
Tryb sandbox
Czym jest sandbox?
Sandbox to mechanizm izolacji, który ogranicza zakres operacji Agenta, zapobiegając przypadkowym lub złośliwym modyfikacjom systemu.
Tryby sandbox
| Tryb | Opis | Zastosowanie |
|---|---|---|
off |
Brak sandboxa, pełne zaufanie | Główna sesja, zaufane środowisko |
non-main |
Sandbox dla sesji niegłównych | Wielu użytkowników, współdzielenie zespołowe |
always |
Sandbox zawsze aktywny | Niezaufane środowisko, usługa publiczna |
Konfiguracja sandboxa
{
"agents": {
"defaults": {
"sandbox": {
"mode": "non-main",
"allowlist": ["read", "write", "edit", "bash"],
"denylist": ["browser", "canvas", "nodes"],
"container": {
"image": "openclaw/sandbox:latest",
"timeout": 30000,
"memory": "512m",
"cpu": "0.5"
}
}
}
}
}
Kontrola uprawnień narzędzi
{
"agents": {
"defaults": {
"sandbox": {
"mode": "non-main",
"allowlist": [
"read",
"write",
"edit",
"bash",
"web_search",
"sessions_list",
"sessions_history",
"sessions_send"
],
"denylist": [
"browser",
"canvas",
"nodes",
"cron",
"discord",
"gateway"
]
}
}
}
}
Uprawnienia systemu plików
{
"agents": {
"defaults": {
"permissions": {
"filesystem": {
"read": ["~/workspace", "~/documents"],
"write": ["~/workspace/output"],
"deny": ["~/.ssh", "~/.gnupg", "~/.openclaw/credentials"]
}
}
}
}
}
Uprawnienia sieciowe
{
"agents": {
"defaults": {
"permissions": {
"network": {
"outbound": {
"allow": [
"api.anthropic.com",
"api.openai.com",
"github.com"
],
"deny": ["*"]
}
}
}
}
}
}
Uprawnienia Elevated
Czym są uprawnienia Elevated?
Uprawnienia Elevated to mechanizm tymczasowego podnoszenia uprawnień, używany do operacji wymagających wyższych uprawnień.
Konfiguracja uprawnień Elevated
{
"agents": {
"defaults": {
"elevatedAccess": {
"enabled": true,
"allowlist": [123456789, 987654321],
"requireConfirmation": true,
"timeout": 300000
}
}
}
}
Korzystanie z uprawnień Elevated
# Żądanie podniesienia uprawnień w czacie
/elevated on
# Wykonywanie operacji wymagających podniesionych uprawnień
# ...
# Wyłączenie podniesionych uprawnień
/elevated off
Obsługa danych wrażliwych
Typy informacji wrażliwych
| Typ | Przykład | Sposób obsługi |
|---|---|---|
| Klucze API | sk-ant-xxx, sk-xxx |
Nie rejestrować, nie wyświetlać |
| Hasła | Hasła logowania, hasła baz danych | Nie przechowywać, nie przesyłać |
| Tokeny | Token OAuth, token sesji | Zaszyfrowane przechowywanie |
| Dane osobowe | Numer PESEL, dane karty bankowej | Nie rejestrować, anonimizować |
Konfiguracja filtrowania danych wrażliwych
{
"security": {
"sensitiveData": {
"patterns": [
"sk-[a-zA-Z0-9]{20,}",
"xox[baprs]-[a-zA-Z0-9-]+",
"[0-9]{15,19}",
"[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}"
],
"redact": true,
"log": false
}
}
}
Przechowywanie poświadczeń
# Lokalizacja przechowywania poświadczeń
~/.openclaw/credentials/
# Zaszyfrowane przechowywanie
# OpenClaw używa systemowego pęku kluczy do szyfrowania wrażliwych poświadczeń
Zarządzanie poświadczeniami
# Wyświetl zapisane poświadczenia
openclaw credentials list
# Przykładowe wyjście:
# Name Type Created
# telegram-bot api_key 2026-02-20
# gmail-oauth oauth 2026-02-21
# Usuń poświadczenie
openclaw credentials delete telegram-bot
# Eksportuj poświadczenia (zaszyfrowane)
openclaw credentials export --output credentials.enc
# Importuj poświadczenia
openclaw credentials import --input credentials.enc
Bezpieczeństwo sieci
Konfiguracja bindowania
{
"gateway": {
"bind": "loopback", // tylko dostęp lokalny
"port": 18789,
"tls": {
"enabled": false
}
}
}
| Opcja bindowania | Opis | Poziom bezpieczeństwa |
|---|---|---|
loopback |
Tylko dostęp lokalny | ⭐⭐⭐⭐⭐ |
private |
Dostęp z sieci prywatnej | ⭐⭐⭐⭐ |
all |
Dostęp ze wszystkich interfejsów | ⭐ |
Konfiguracja Tailscale
{
"gateway": {
"tailscale": {
"mode": "serve", // serve lub funnel
"resetOnExit": true
},
"auth": {
"mode": "password",
"allowTailscale": true
}
}
}
Konfiguracja uwierzytelniania
{
"gateway": {
"auth": {
"mode": "password",
"password": "your-secure-password",
"sessionTimeout": 3600000
}
}
}
Audyt i logi
Logi operacyjne
{
"logging": {
"level": "info",
"audit": {
"enabled": true,
"events": [
"tool.invoke",
"session.create",
"session.reset",
"pairing.approve",
"pairing.reject",
"elevated.enable",
"elevated.disable"
],
"retention": 30
}
}
}
Przeglądanie logów audytu
# Wyświetl logi audytu
openclaw logs --type audit
# Przykładowe wyjście:
# [2026-02-26 10:30:00] INFO tool.invoke session=main tool=bash command="ls -la"
# [2026-02-26 10:30:05] INFO pairing.approve channel=telegram code=ABC123 user=123456789
# [2026-02-26 10:31:00] INFO elevated.enable session=telegram:user:123456789
# Filtrowanie określonych zdarzeń
openclaw logs --type audit --filter "tool.invoke"
# Filtrowanie po zakresie dat
openclaw logs --type audit --from 2026-02-01 --to 2026-02-28
Monitorowanie wykorzystania
# Wyświetl statystyki wykorzystania
openclaw usage --today
# Przykładowe wyjście:
# Date: 2026-02-26
# Requests: 128
# Tokens In: 125,000
# Tokens Out: 45,000
# Cost: $2.10
# Top Tools: bash(45), read(32), write(18)
# Wykrywanie anomalii
openclaw usage --alerts
# Przykładowe wyjście:
# ⚠️ High usage detected: 1000+ requests in 1 hour
# ⚠️ Unusual tool pattern: bash commands to sensitive directories
Lista kontrolna bezpieczeństwa
Podstawowe bezpieczeństwo
- Włącz parowanie DM lub białą listę
- Skonfiguruj tryb sandbox
- Ustaw odpowiednie uprawnienia narzędzi
- Włącz logi audytu operacyjnego
- Regularnie zmieniaj klucze API
Zaawansowane bezpieczeństwo
- Skonfiguruj ograniczenia uprawnień systemu plików
- Ustaw białą listę połączeń wychodzących
- Włącz filtrowanie danych wrażliwych
- Skonfiguruj potwierdzanie uprawnień Elevated
- Regularnie przeglądaj sparowanych użytkowników
Bezpieczeństwo klasy enterprise
- Użyj izolacji sandbox Docker
- Skonfiguruj sieć prywatną Tailscale
- Włącz HTTPS/TLS
- Ustaw alerty wykorzystania
- Regularnie przeprowadzaj audyty bezpieczeństwa
Diagnostyka bezpieczeństwa
# Uruchom diagnostykę bezpieczeństwa
openclaw doctor --security
# Przykładowe wyjście:
# ✅ DM Pairing: Enabled
# ✅ Sandbox Mode: non-main
# ⚠️ File Permissions: Some directories not restricted
# ✅ Network Outbound: Restricted to allowlist
# ⚠️ Elevated Access: No confirmation required
# ✅ Audit Logging: Enabled
# ✅ Credentials: Encrypted
# Zalecenia:
# - Restrict file access to ~/workspace only
# - Enable elevated access confirmation
Podsumowanie
Konfiguracja bezpieczeństwa to kluczowy etap wdrażania OpenClaw:
- Parowanie DM: zapobiega nieautoryzowanemu dostępowi
- Tryb sandbox: ogranicza zakres operacji
- Kontrola uprawnień: precyzyjne uprawnienia narzędzi i plików
- Dane wrażliwe: filtrowanie i ochrona wrażliwych informacji
- Bezpieczeństwo sieci: konfiguracja bindowania i uwierzytelniania
- Logi audytu: śledzenie i monitorowanie operacji
Podsumowanie tego artykułu:
- Poznaliśmy główne zagrożenia bezpieczeństwa i mechanizmy ochronne
- Opanowaliśmy konfigurację parowania DM i białej listy
- Nauczyliśmy się trybu sandbox i kontroli uprawnień
- Zrozumieliśmy obsługę danych wrażliwych i konfigurację sieci
- Opanowaliśmy logi audytu i listę kontrolną bezpieczeństwa
Historia zmian:
- 2026-02-26: Pierwsza publikacja, na podstawie OpenClaw v2026.2
Nawigacja po serii:
- ← Poprzedni: Routing wielu Agentów i izolacja sesji
- → Następny: Zdalne wdrażanie