Règles du Pare-feu d'Exécution (Execution Firewall)
Les règles de sécurité (Execution Boundaries) constituent le cœur défensif de Boundry. Elles définissent avec précision les limites d'autonomie accordées à chaque agent lorsqu'il interagit avec des outils externes (APIs, bases de données, shell, services tiers).
Chaque appel d'outil est évalué de manière déterministe en pré-exécution : aucune instruction n'est transmise aux systèmes sous-jacents si les conditions de sécurité ne sont pas strictement satisfaites.
1. Structure d'une Règle de Sécurité
Les règles peuvent être configurées directement depuis l'interface Web Boundry ou provisionnées sous forme déclarative (Infrastructure as Code) :
# 1. Règle de frontière financière avec Quarantaine humaine (HITL)
- id: rule_refund_ceiling_01
name: "Plafond d'autorisation pour les remboursements"
description: "Suspend tout remboursement unitaire supérieur à 500 € pour revue humaine."
agent_scope: ["support-agent-prod", "billing-worker"]
tool_target: "refund_customer"
condition:
field: "arguments.amount"
operator: "GREATER_THAN"
value: 500.00
action: "QUARANTINE" # Options: ALLOW, BLOCK, QUARANTINE, ALERT
severity: "HIGH" # Options: LOW, MEDIUM, HIGH, CRITICAL
enabled: true
# 2. Protection réseau contre les requêtes SSRF et fuites de métadonnées
- id: rule_ssrf_metadata_block
name: "Bouclier anti-SSRF Cloud Metadata"
description: "Interdit formellement les requêtes vers l'IP de métadonnées AWS/GCP/Azure."
agent_scope: ["*"]
tool_target: "http_client"
condition:
field: "arguments.url"
operator: "CONTAINS"
value: "169.254.169.254"
action: "BLOCK"
severity: "CRITICAL"
enabled: true
# 3. Restriction d'exécution par plage horaire
- id: rule_business_hours_only
name: "Fenêtre horaire d'exécution stricte"
description: "Interdit les mutations d'infrastructure en dehors des heures de bureau."
agent_scope: ["infra-devops-agent"]
rule_type: "time_window"
start_time: "08:30"
end_time: "19:00"
action: "BLOCK"
severity: "MEDIUM"
enabled: true
2. Opérateurs de Condition Disponibles
Le moteur d'évaluation supporte une grammaire complète de prédicats sur les arguments d'outils (arguments.*) ou les métadonnées de session (context.*) :
| Opérateur | Syntaxe de Définition | Exemple Concret | Description Technique |
|---|---|---|---|
| Égalité stricte | EQUALS | arguments.currency == "EUR" | Correspondance exacte de valeur (chaîne, nombre ou booléen). |
| Différence | NOT_EQUALS | arguments.environment != "production" | Rejette ou isole une valeur spécifique. |
| Comparateurs numériques | GREATER_THAN, LESS_THAN, GTE, LTE | arguments.amount > 1000 | Évaluation arithmétique de plafonds financiers ou de volumes. |
| Liste blanche (Allowlist) | IN_LIST | arguments.domain IN ["api.stripe.com", "slack.com"] | Autorise exclusivement les cibles déclarées dans la liste. |
| Liste noire (Denylist) | NOT_IN_LIST | arguments.table NOT_IN ["credentials", "billing_tokens"] | Interdit l'accès à des ressources sensibles identifiées. |
| Recherche de motif | CONTAINS, NOT_CONTAINS | arguments.query CONTAINS "DROP TABLE" | Détecte la présence d'une chaîne ou d'une sous-instruction. |
| Expression Régulière | REGEX_MATCH | arguments.path REGEX_MATCH "^/var/log/[a-zA-Z0-9_-]+\.log$" | Validation stricte par expression rationnelle sécurisée (ReDoS-safe). |
3. Les 4 Actions de Décision
Lorsque les conditions d'une règle sont satisfaites, Boundry applique immédiatement l'action programmée :
- BLOCK Rejet Ferme : L'exécution est interrompue sur-le-champ. Le Sensor lève une exception
BoundryBlockExceptiondans le runtime de l'agent et consigne une alerte de sécurité. - QUARANTINE Suspension & Quarantaine (HITL) : L'exécution de l'outil est mise en pause. Une notification d'alerte est expédiée sur le tableau de bord ou par Webhook (Slack / PagerDuty). Un opérateur humain peut approuver ou refuser l'exécution en un clic.
- ALERT Surveillance Passive : L'outil s'exécute normalement, mais l'événement est annoté comme suspect dans le registre d'audit pour revue ultérieure.
- ALLOW Autorisation Prioritaire : Règle d'exemption explicite permettant de déroger à une politique de sécurité plus large.
4. Pipeline d'Évaluation en Cascade
L'évaluation des règles s'effectue dans un ordre rigoureux et optimisé pour garantir un temps de réponse minimal :
[Requête d'outil entrante]
[1. Vérification d'Allowlist d'Outil] Outil non autorisé ? OUI : Rejet immédiat (403)
AUTORISÉ
[2. Protection Réseau SSRF] Cible interne/metadata ? OUI : Rejet immédiat (403)
SAFE
[3. Détection d'Injection de Prompt] Payload hostile ? OUI : Quarantaine / Blocage
SAFE
[4. Filtre DLP & Caviardage] Masquage PII / Secrets (`[REDACTED]`)
[5. Évaluation des Plafonds Métier] Règle QUARANTINE ? OUI : Suspension HITL (202)
CONFORME
[Action Exécutée avec Succès (200 OK) + Scellement Cryptographique HMAC]
5. Exemples Concrets d'Application
Scénario A : Protection d'un Outil Shell / Terminal
- name: "Interdiction des commandes système critiques"
tool_target: "bash_executor"
condition:
field: "arguments.command"
operator: "REGEX_MATCH"
value: "(?i)(rm\\s+-rf|chmod\\s+777|chown|mkfs|curl\\s+.*\\|\\s*bash|nc\\s+-e)"
action: "BLOCK"
severity: "CRITICAL"
Scénario B : Quarantaine sur Requêtes SQL Massives
- name: "Suspension des exports massifs"
tool_target: "sql_query"
condition:
field: "arguments.limit"
operator: "GREATER_THAN"
value: 5000
action: "QUARANTINE"
severity: "HIGH"
Liens Utiles
- Protection contre les Injections de Prompt : Détecter et neutraliser les payloads adverses.
- Masquage DLP & Protection des Données : Empêcher l'exfiltration de cartes bancaires et d'identifiants.
- Gestion de la Quarantaine & Workflow HITL : Configurer les notifications d'approbation humaine.