Proxy de sécurité pour agents IA. Analyse chaque message à la recherche d'injections de prompts, de données personnelles (PII) et de secrets. Défense en profondeur : proxy Go + pare-feu iptables + moniteur noyau eBPF. Moteur de politiques YAML, journalisation d'audit, 5 agents IA avec bases de connaissances RAG.
Proxy de sécurité pour agents IA. Se place devant OpenClaw et analyse chaque message à la recherche d'injections de prompts, de fuites de données personnelles et de secrets — avant qu'ils n'atteignent le modèle ou ne quittent le réseau.
Livré avec 5 agents IA spécialisés, un tableau de bord intégré et un moteur de politiques YAML. Une seule commande pour démarrer.
┌──────────────┐ ┌──────────────────┐ ┌──────────────┐
│ Browser │────▶│ ClawShield │────▶│ OpenClaw │
│ (you) │◀────│ Security Proxy │◀────│ Gateway │
└──────────────┘ └──────────────────┘ └──────────────┘
▪ Prompt injection ▪ Claude, GPT,
detection LM Studio
▪ PII/secrets redaction ▪ Multi-agent
▪ Policy enforcement routing
▪ Audit logging ▪ RAG knowledge
Prérequis : Docker et une clé API Anthropic.
# 1. Clone the repo
git clone https://github.com/SleuthCo/clawshield-public.git
cd clawshield-public
# 2. Set your API key
cp standalone/.env.template standalone/.env
# Edit standalone/.env and paste your Anthropic API key
# 3. Start
cd standalone
docker compose up -d
Ouvrez http://localhost:18801 dans votre navigateur. Vous verrez le tableau de bord ClawShield avec 5 agents IA prêts à discuter.
Et voilà. ClawShield analyse tout le trafic entre vous et les agents.
ClawShield utilise Claude (via l'API d'Anthropic) comme modèle de langage par défaut. Voici comment obtenir votre clé :
sk-ant-standalone/.env :
ANTHROPIC_API_KEY=sk-ant-your-key-here
Coût : Anthropic facture au token. Une session de chat typique coûte quelques cents. Les nouveaux comptes reçoivent 5 $ de crédits gratuits. Voir anthropic.com/pricing pour plus de détails.
Vous utilisez un autre modèle ? ClawShield fonctionne avec toute API compatible OpenAI (GPT, LM Studio, Ollama, etc.). Modifiez standalone/config/openclaw.json pour pointer vers votre fournisseur préféré.
Tout s'exécute dans un seul conteneur — proxy ClawShield + passerelle OpenClaw + 5 agents.
Voir Démarrage rapide ci-dessus.
Téléchargez la dernière version depuis GitHub Releases :
| Plateforme | Fichier |
|---|---|
| Windows | clawshield-proxy-windows-amd64.exe |
| Linux x64 | clawshield-proxy-linux-amd64 |
| Linux ARM64 | clawshield-proxy-linux-arm64 |
| macOS Apple Silicon | clawshield-proxy-darwin-arm64 |
| macOS Intel | clawshield-proxy-darwin-amd64 |
Exécutez ensuite l'assistant d'installation interactif :
# Download the setup wizard too
chmod +x clawshield-setup-*
# Run the wizard — it walks you through everything
./clawshield-setup-linux-amd64
L'assistant va :
Nécessite Go 1.24+.
git clone https://github.com/SleuthCo/clawshield-public.git
cd clawshield-public
# Build the proxy
cd proxy/cmd/clawshield-proxy
go build -o clawshield-proxy
# Build the setup wizard
cd ../../clawshield-setup
go build -o clawshield-setup
# Run setup
./clawshield-setup
ClawShield expose un point de terminaison /metrics compatible Prometheus pour une surveillance en temps réel :
curl http://localhost:18789/metrics
Métriques clés :
clawshield_requests_total — Total des requêtes évaluéesclawshield_decisions_allowed_total / _denied_total / _redacted_total — Résultats des décisionsclawshield_scanner_detections_total{scanner,action} — Détections par type de scannerclawshield_evaluation_duration_seconds — Histogramme de latence d'évaluationclawshield_active_connections — Connexions WebSocket actuellesclawshield_crosslayer_events_* — Activité du bus d'événements inter-couchesLe cœur de ClawShield. Un proxy inverse HTTP qui intercepte tout le trafic entre les utilisateurs et la passerelle IA.
Scanners (chacun produit des enregistrements d'audit forensique structurés avec des identifiants de règle et des extraits de correspondance expurgés) :
Durcissement en production (couche 3) :
/proc lorsque eBPF est indisponible (pas de CAP_BPF, noyau ancien, conteneurs)Rechargement à chaud des politiques :
policy.yaml et les changements prennent effet en moins de 5 secondes, sans redémarrageAnalyse des réponses en streaming :
Moteur de politiques — basé sur YAML, refus par défaut :
default_action: deny
scanners:
prompt_injection:
enabled: true
action: block
pii:
enabled: true
action: redact
secrets:
enabled: true
action: block
domain_allowlist:
- "api.anthropic.com"
- "api.openai.com"
Voir policy/examples/ pour plus d'exemples.
Chaque agent a un rôle spécialisé et sa propre base de connaissances RAG :
| Agent | Rôle | Connaissances |
|---|---|---|
| Anvil | Développement logiciel | Langages, architecture, DevOps, tests, codage sécurisé |
| Shield | Ingénierie de la sécurité | NIST, MITRE ATT&CK, OWASP, zéro confiance, modélisation des menaces |
| Harbor | Ingénierie cloud | AWS, Azure, GCP, Kubernetes, IaC, réseaux |
| Beacon | Communications | Communication de crise, stratégie de contenu, briefings exécutifs |
| Lens | Recherche et analyse | OSINT, analyse structurée, biais cognitifs, renseignement |
Chaque requête et réponse est journalisée dans une base SQLite locale avec :
clawshield-audit --db /var/lib/clawshield/audit.db --last 50
clawshield-audit --db /var/lib/clawshield/audit.db --blocked-only
clawshield-audit --db /var/lib/clawshield/audit.db --scanner injection
clawshield-audit --db /var/lib/clawshield/audit.db --rule-id sqli
Voir docs/audit-log-format.md pour le schéma complet et Explicabilité des décisions pour les détails des requêtes forensiques.
Intégration SIEM :
Pare-feu de sortie basé sur iptables qui restreint les domaines/IP que les agents peuvent joindre :
cd firewall/cmd/clawshield-fw && go build -o clawshield-fw
sudo ./clawshield-fw apply --config firewall/examples/firewall.yaml
Surveillance des appels système au niveau du noyau pour détecter les comportements suspects des agents :
sudo python3 ebpf/cmd/clawshield-ebpf/main.py --config ebpf/config/default.yaml
Détecte : les fork bombs, l'accès aux fichiers sensibles, l'élévation de privilèges, les connexions réseau anormales.
ClawShield utilise une défense en profondeur — trois couches de sécurité reliées par un bus d'événements inter-couches :
Layer 1: Application (ClawShield Proxy)
▪ Scans message content
▪ Enforces YAML policies
▪ Logs all decisions
Layer 2: Network (ClawShield Firewall)
▪ iptables egress rules
▪ Domain/IP allowlist
▪ Blocks unapproved connections
▪ Dynamic temporary rules from cross-layer events
Layer 3: Kernel (ClawShield eBPF)
▪ Syscall monitoring
▪ Behavioral anomaly detection
▪ Real-time alerts
Chaque couche fonctionne indépendamment. Si l'une est contournée, les autres continuent de protéger.
Les trois couches communiquent via un bus d'événements basé sur une socket Unix, permettant des réponses de sécurité adaptatives entre les couches :
┌──────────────┐ ┌──────────────┐
│ eBPF │──── Unix Socket ────────▶│ Proxy │
│ (Layer 3) │ /tmp/clawshield- │ (Layer 1) │
│ Produces: │ events.sock │ Produces: │
│ • privesc │ │ • injection │
│ • port_scan │◀── Adaptive Controller ──│ • malware │
│ • file_access│ │ • vuln_scan │
└──────────────┘ └──────────────┘
│
▼
┌──────────────┐
│ Firewall │
│ (Layer 2) │
│ Consumes: │
│ • temp block│
│ rules │
└──────────────┘
Exemples de réactions adaptatives :
| Déclencheur | Réponse automatique |
|---|---|
| eBPF détecte une élévation de privilèges | Le proxy élève la sensibilité d'injection à high pendant 5 min |
| eBPF détecte un scan de ports | Le proxy restreint l'accès aux domaines pendant 10 min |
| Le proxy bloque 3+ injections en 60 s | L'action par défaut est forcée à deny pendant 15 min |
| Le proxy détecte un malware dans une réponse | Le pare-feu ajoute des règles temporaires de blocage d'IP |
Activez l'intégration inter-couches en ajoutant une section adaptive à votre YAML de politique. Voir policy/examples/adaptive_crosslayer.yaml pour un exemple complet.
Pour un déploiement sur un serveur réel avec TLS, voir docs/install-guide.md.
Le répertoire deploy/ contient :
cloud-init.yaml — Provisionnement de VM durci (verrouillage SSH, fail2ban, nftables, auditd)docker-compose.yml — Stack de production complète avec terminaison TLS nginxnginx/conf.d/ — Configurations nginx de production avec limitation de débit, en-têtes de sécurité, proxy WebSocketdeploy.sh — Script de déploiement automatisésmoke-test.sh — Vérification post-déploiement| Variable | Obligatoire | Description |
|---|---|---|
ANTHROPIC_API_KEY | Oui | Votre clé API Anthropic (sk-ant-...) |
GATEWAY_AUTH_TOKEN | Non | Jeton d'authentification partagé (généré automatiquement s'il est omis) |
CLAWSHIELD_PORT | Non | Port hôte (défaut : 18801) |
CLAWSHIELD_STUDIO_URL | Non | URL de base des liens profonds Studio |
| Fichier | Description |
|---|---|
standalone/config/openclaw.json | Configuration de la passerelle OpenClaw (modèles, agents, authentification) |
standalone/config/policy.yaml | Politique de sécurité ClawShield |
standalone/agents/*/ | Configurations des agents et bases de connaissances |
# Unit tests
go test ./proxy/...
go test ./firewall/...
# Integration tests
go test ./integration/...
Les issues et pull requests sont les bienvenues sur github.com/SleuthCo/clawshield-public.
Apache 2.0
Construit sur OpenClaw. Inspiré par les architectures de sécurité réseau traditionnelles appliquées aux contextes d'agents IA.