Pour OpenClaw v2026.2 | Cet article s’adresse à tous les utilisateurs d’OpenClaw, en particulier ceux qui préparent un déploiement en production ou une utilisation en équipe.
TL;DR: L’appairage DM empêche les accès non autorisés : "dmPolicy": "pairing". Le sandbox isole les opérations dangereuses : "sandbox": {"mode": "non-main"}. Filtrage des données sensibles : "security": {"sensitiveData": {"patterns": ["sk-*"]}}. Utilisez Tailscale pour l’accès distant plutôt que l’exposition sur Internet public. Exécutez openclaw doctor --security pour vérifier l’état de sécurité.
Vue d’ensemble des risques de sécurité
Principaux types de risques
| Type de risque | Description | Conséquences potentielles |
|---|---|---|
| Accès non autorisé | Des inconnus peuvent utiliser votre Agent | Abus de ressources, fuite de données |
| Abus de permissions | L’Agent exécute des opérations au-delà des attentes | Corruption de données, dommages système |
| Fuite de données | Traitement inapproprié d’informations sensibles | Violation de la vie privée, problèmes de conformité |
| Attaques réseau | Des attaquants exploitent des vulnérabilités | Intrusion système, vol de données |
| Injection de prompt | Des instructions malveillantes contournent les limites de sécurité | Opérations non autorisées |
Modèle de sécurité
flowchart TB
subgraph Externe["Couche réseau"]
FW[Pare-feu]
TLS[HTTPS/TLS]
end
subgraph Milieu["Contrôle d'accès"]
DM[Appairage DM]
WL[Liste blanche]
AUTH[Authentification]
end
subgraph Interne["Contrôle d'exécution"]
SBX[Sandbox]
PERM[Permissions]
AUDIT[Audit]
end
subgraph Noyau["Agent"]
AG[Cœur de l'Agent]
end
Externe --> Milieu --> Interne --> Noyau
Mécanisme d’appairage DM
Qu’est-ce que l’appairage DM ?
L’appairage DM (Direct Message) est un mécanisme de protection qui exige que les nouveaux utilisateurs complètent l’appairage avant de pouvoir discuter avec l’Agent.
Processus d’appairage
sequenceDiagram
participant S as Inconnu
participant B as Bot
participant G as Gateway
participant O as Propriétaire
S->>B: Envoie un message "Bonjour"
B->>G: Le message arrive
G->>G: Vérification de l'état d'appairage
G-->>B: Non appairé, génération du code
B-->>S: "Veuillez vous appairer : code ABC123"
S->>O: Communique le code au propriétaire
O->>G: openclaw pairing approve telegram ABC123
G->>G: Ajout à la liste blanche
G-->>S: Appairage réussi
S->>B: Envoie un message "Bonjour"
B-->>S: Réponse normale
Configurer l’appairage DM
{
"channels": {
"telegram": {
"botToken": "your_token",
"dmPolicy": "pairing"
},
"whatsapp": {
"dmPolicy": "pairing"
},
"discord": {
"dmPolicy": "pairing"
}
}
}
Modes d’appairage
| Mode | Description | Niveau de sécurité | Cas d’usage |
|---|---|---|---|
pairing |
Code d’appairage requis | ⭐⭐⭐⭐ | Usage personnel (par défaut) |
open |
Accessible à tous | ⭐ | Service public |
whitelist |
Utilisateurs en liste blanche uniquement | ⭐⭐⭐⭐⭐ | Haute sécurité |
Gestion de l’appairage
# Voir les demandes d'appairage en attente
openclaw pairing list
# Exemple de sortie :
# Channel Code User Created
# telegram ABC123 @stranger 2026-02-26 10:30:00
# discord XYZ789 user#1234 2026-02-26 10:35:00
# Approuver l'appairage
openclaw pairing approve telegram ABC123
# Refuser l'appairage
openclaw pairing reject telegram ABC123
# Voir les utilisateurs appairés
openclaw pairing show telegram
Configuration de la liste blanche
{
"channels": {
"telegram": {
"dmPolicy": "open",
"allowFrom": [
123456789,
987654321
]
},
"whatsapp": {
"dmPolicy": "open",
"allowFrom": [
"+8613800138000",
"+8613800138001"
]
}
}
}
Obtenir les identifiants utilisateur
# Telegram : envoyez un message à @userinfobot
# Discord : utilisez la commande /id dans un canal ou consultez le profil utilisateur
# WhatsApp : récupérez depuis les informations de contact
Mode sandbox
Qu’est-ce que le sandbox ?
Le sandbox est un mécanisme d’isolation qui limite la portée des opérations de l’Agent, empêchant les modifications système accidentelles ou malveillantes.
Modes de sandbox
| Mode | Description | Cas d’usage |
|---|---|---|
off |
Pas de sandbox, confiance totale | Session principale, environnement de confiance |
non-main |
Sandbox activé pour les sessions non principales | Multi-utilisateurs, partage en équipe |
always |
Sandbox toujours activé | Environnement non fiable, service public |
Configurer le sandbox
{
"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"
}
}
}
}
}
Contrôle des permissions d’outils
{
"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"
]
}
}
}
}
Permissions du système de fichiers
{
"agents": {
"defaults": {
"permissions": {
"filesystem": {
"read": ["~/workspace", "~/documents"],
"write": ["~/workspace/output"],
"deny": ["~/.ssh", "~/.gnupg", "~/.openclaw/credentials"]
}
}
}
}
}
Permissions réseau
{
"agents": {
"defaults": {
"permissions": {
"network": {
"outbound": {
"allow": [
"api.anthropic.com",
"api.openai.com",
"github.com"
],
"deny": ["*"]
}
}
}
}
}
}
Permissions élevées
Que sont les permissions élevées ?
Les permissions élevées sont un mécanisme d’élévation temporaire des privilèges, utilisé pour les opérations nécessitant des droits supérieurs.
Configurer les permissions élevées
{
"agents": {
"defaults": {
"elevatedAccess": {
"enabled": true,
"allowlist": [123456789, 987654321],
"requireConfirmation": true,
"timeout": 300000
}
}
}
}
Utiliser les permissions élevées
# Demander l'élévation des permissions dans le chat
/elevated on
# Exécuter des opérations nécessitant des permissions élevées
# ...
# Désactiver les permissions élevées
/elevated off
Traitement des données sensibles
Types d’informations sensibles
| Type | Exemple | Traitement |
|---|---|---|
| Clés API | sk-ant-xxx, sk-xxx |
Ne pas enregistrer, ne pas afficher |
| Mots de passe | Mots de passe de connexion, de base de données | Ne pas stocker, ne pas transmettre |
| Tokens | OAuth token, Session token | Stockage chiffré |
| Données personnelles | Carte d’identité, carte bancaire | Ne pas enregistrer, anonymiser |
Configurer le filtrage des informations sensibles
{
"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
}
}
}
Stockage des identifiants
# Emplacement de stockage des identifiants
~/.openclaw/credentials/
# Stockage chiffré
# OpenClaw utilise le trousseau système pour chiffrer les identifiants sensibles
Gestion des identifiants
# Voir les identifiants stockés
openclaw credentials list
# Exemple de sortie :
# Name Type Created
# telegram-bot api_key 2026-02-20
# gmail-oauth oauth 2026-02-21
# Supprimer un identifiant
openclaw credentials delete telegram-bot
# Exporter les identifiants (chiffré)
openclaw credentials export --output credentials.enc
# Importer des identifiants
openclaw credentials import --input credentials.enc
Sécurité réseau
Configuration de liaison
{
"gateway": {
"bind": "loopback", // Accès local uniquement
"port": 18789,
"tls": {
"enabled": false
}
}
}
| Option de liaison | Description | Niveau de sécurité |
|---|---|---|
loopback |
Accès local uniquement | ⭐⭐⭐⭐⭐ |
private |
Accès réseau privé | ⭐⭐⭐⭐ |
all |
Accès sur toutes les interfaces | ⭐ |
Configuration Tailscale
{
"gateway": {
"tailscale": {
"mode": "serve", // serve ou funnel
"resetOnExit": true
},
"auth": {
"mode": "password",
"allowTailscale": true
}
}
}
Configuration de l’authentification
{
"gateway": {
"auth": {
"mode": "password",
"password": "your-secure-password",
"sessionTimeout": 3600000
}
}
}
Audit et journalisation
Journal des opérations
{
"logging": {
"level": "info",
"audit": {
"enabled": true,
"events": [
"tool.invoke",
"session.create",
"session.reset",
"pairing.approve",
"pairing.reject",
"elevated.enable",
"elevated.disable"
],
"retention": 30
}
}
}
Consulter les journaux d’audit
# Voir les journaux d'audit
openclaw logs --type audit
# Exemple de sortie :
# [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
# Filtrer par événement spécifique
openclaw logs --type audit --filter "tool.invoke"
# Par plage de dates
openclaw logs --type audit --from 2026-02-01 --to 2026-02-28
Surveillance de l’utilisation
# Voir l'utilisation
openclaw usage --today
# Exemple de sortie :
# 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)
# Détection d'anomalies
openclaw usage --alerts
# Exemple de sortie :
# ⚠️ High usage detected: 1000+ requests in 1 hour
# ⚠️ Unusual tool pattern: bash commands to sensitive directories
Liste de contrôle de sécurité
Sécurité de base
- Activer l’appairage DM ou la liste blanche
- Configurer le mode sandbox
- Définir des permissions d’outils raisonnables
- Activer les journaux d’audit des opérations
- Renouveler régulièrement les clés API
Sécurité avancée
- Configurer les restrictions de permissions du système de fichiers
- Définir une liste blanche des connexions sortantes
- Activer le filtrage des informations sensibles
- Configurer la confirmation des permissions élevées
- Réviser régulièrement les utilisateurs appairés
Sécurité entreprise
- Utiliser l’isolation sandbox Docker
- Configurer le réseau privé Tailscale
- Activer HTTPS/TLS
- Configurer les alertes d’utilisation
- Effectuer des audits de sécurité réguliers
Diagnostic de sécurité
# Lancer le diagnostic de sécurité
openclaw doctor --security
# Exemple de sortie :
# ✅ 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
# Recommandations :
# - Restrict file access to ~/workspace only
# - Enable elevated access confirmation
Résumé
La configuration de la sécurité est une étape essentielle du déploiement d’OpenClaw :
- Appairage DM : empêche les accès non autorisés
- Mode sandbox : limite la portée des opérations
- Contrôle des permissions : permissions granulaires pour les outils et les fichiers
- Données sensibles : filtrage et protection des informations sensibles
- Sécurité réseau : configuration de liaison et d’authentification
- Journaux d’audit : suivi et surveillance des opérations
Points clés de cet article :
- Compréhension des principaux risques de sécurité et mécanismes de protection
- Maîtrise de la configuration de l’appairage DM et de la liste blanche
- Apprentissage du mode sandbox et du contrôle des permissions
- Connaissance du traitement des données sensibles et de la configuration réseau
- Maîtrise des journaux d’audit et de la liste de contrôle de sécurité
Historique des mises à jour :
- 2026-02-26 : Publication initiale, basée sur OpenClaw v2026.2
Navigation de la série :
- ← Précédent : Routage multi-Agent et isolation des sessions
- → Suivant : Solutions de déploiement distant