Skip to main content

Garde-fous et limites de sécurité

POUR AGENT IAChatGPTClaude

Couche logicielle de filtres déterministes, de validateurs de schéma et de politiques de sécurité qui intercepte les prompts d'entrée, les commandes système et les réponses des modèles pour prévenir les pannes, les fuites de données et les exploits.

1. Vue d'ensemble du concept et problème systémique

Le paradoxe fondamental de l'intégration des modèles linguistiques en production réside dans le conflit entre leur flexibilité probabiliste et les exigences déterministes de la sécurité d'entreprise :

  1. Non-déterminisme comportemental : Même avec temperature=0, il n'existe aucune garantie absolue que le modèle n'ajoutera pas un champ superflu au JSON ou ne interprétera une chaîne comme une commande.
  2. Vulnérabilité aux Prompt Injections : Un attaquant peut forcer le modèle à ignorer les règles via des techniques de contournement (par exemple, encodage Base64, scénarios hypothétiques ou prompts cachés dans des pages web).
  3. Risques réglementaires et financiers : Une fuite accidentelle de données personnelles clients (PII) ou l'exécution non autorisée d'une requête SQL destructive entraîne une responsabilité directe pour l'entreprise.

Les Guardrails (Barrières de protection) créent une structure isolante autour du modèle. Ils garantissent qu'aucune requête dangereuse n'atteindra le LLM, et qu'aucune action invalide ou compromise ne sera appliquée dans le système.

2. Taxonomie architecturale et modèle mental

Le système de barrières de protection se divise en trois périmètres critiques de vérification :

  • 1. Périmètre d'entrée (Input Guardrails) : Filtrage et normalisation de la requête utilisateur avant son envoi au LLM :
    • Détection des tentatives de compromission (Jailbreak / Prompt Injection Detection).
    • Anonymisation des données personnelles (PII Anonymization) conformément aux normes RGPD.
    • Validation du budget de tokens et limitation de la complexité de la requête.
  • 2. Périmètre d'interface des actions (Tool & Action Guardrails) : Contrôle avant l'exécution d'un outil (Tool Call) :
    • Analyse AST des commandes terminal : interdiction des opérateurs destructeurs (rm -rf, mkfs, chmod 777).
    • Validation des requêtes SQL : garantie de la présence obligatoire de clauses WHERE dans les instructions UPDATE et DELETE.
    • Restrictions sémantiques d'accès au système de fichiers (Path Traversal Protection).
  • 3. Périmètre de sortie (Output Guardrails) : Vérification de la réponse générée par le modèle avant sa présentation à l'utilisateur :
    • Conformité stricte au schéma (Schema Conformance via Pydantic/Zod).
    • Détecteur d'hallucinations (Hallucination & Grounding Check contre les sources primaires).
    • Scanner de fuite de secrets (clés API, tokens d'autorisation, adresses IP internes).

3. Pipeline technique et mécanique interne

Le traitement d'une requête via le système Guardrails suit quatre phases séquentielles :

  1. Ingress Sanitization (Nettoyage à l'entrée) : Des motifs regex rapides et des scanners d'entropie détectent les tentatives de transmission de secrets. Un classifieur vectoriel léger vérifie la conformité sémantique du prompt entrant aux sujets autorisés (Topic Whitelisting).
  2. Constrained Decoding (Génération contrainte) : Si un format strict est requis (par exemple, JSON), des mécanismes d'échantillonnage basés sur la grammaire (Grammar-Guided Sampling) sont utilisés. Le modèle est physiquement incapable de générer un token qui viole le schéma syntaxique défini.
  3. Egress Verification & Scrubbing (Contrôle de la sortie) : Le résultat généré passe par une vérification de la présence de contenu toxique, de fuites de l'architecture interne du prompt et de la cohérence factuelle avec la base de connaissances.
  4. Interception & Graceful Fallback (Gestion des incidents) : En cas de violation des règles, le système ne tombe pas en panne. Il renvoie soit un message au modèle lui demandant de réécrire la réponse avec une explication de l'erreur (Self-Correction Loop), soit retourne à l'utilisateur un fallback sécurisé préconfiguré.

4. Scénarios d'ingénierie pratiques en production

01. Protection contre la fuite de PII et d'informations financières

Un assistant chatbot de support bancaire intercepte les messages des clients. Avant l'envoi vers l'API publique du modèle cloud, tous les numéros de carte, IBAN et téléphones sont automatiquement masqués par des tokens ([CARD_REDACTED_1]), puis démasqués uniquement pour le client autorisé lors du chemin inverse.

02. Contrôle déterministe des agents terminaux

Un agent de code type Claude Code ou Cursor obtient le droit d'exécuter des commandes bash. Le Guardrail parse la ligne en arbre syntaxique (AST) et bloque toute tentative de sortie réseau via curl vers des listes d'hôtes non blanchies ou toute tentative de modification des droits d'accès aux fichiers de configuration.

03. Garantie de la logique métier dans les agents e-commerce

Un agent autonome de ventes a le droit d'appliquer des remises. Le Guardrail vérifie l'argument de fonction généré : si l'agent tente d'appliquer une remise supérieure à 15 % ou de fixer un prix inférieur au coût de revient, la transaction est rejetée au niveau du validateur, prévenant ainsi les pertes financières pour l'entreprise.

5. Pièges courants, erreurs typiques et sécurité

  • Cascade de faux positifs (False Positives) : Des expressions régulières trop agressives ou des modèles de sécurité peuvent bloquer des requêtes techniques légitimes des utilisateurs (par exemple, la discussion de vulnérabilités dans le code ou d'exemples de commandes). Une surveillance continue des logs des requêtes bloquées et un ajustement régulier des seuils de sensibilité sont nécessaires.
  • Surcharge de latence (Latency Overhead) : Lancer un LLM séparé pour évaluer la sécurité sur chaque token double le temps de réponse. Minimisez les appels synchronisés de modèles lourds — la plupart des vérifications doivent être déterministes.
  • Contournement par fragmentation de tokens (Token Smuggling) : Les attaquants divisent les commandes dangereuses en fragments (par exemple, concaténation de chaînes ou utilisation d'homoglyphes Unicode). Normalisez le texte (Unicode Normalization NFC/NFKC) avant qu'il ne traverse les filtres.
/ Questions fréquentesSchema.org FAQPage

FAQ: Garde-fous et limites de sécurité

Le prompt système évolue dans le même espace sémantique d'attention du modèle que l'entrée utilisateur. De ce fait, tout grand modèle de langage reste vulnérable aux attaques de type Jailbreak, aux manipulations par jeu de rôle et aux injections indirectes. Une protection robuste doit être assurée par un code externe et déterministe autour du modèle, et non par une simple requête à l'intérieur du prompt.
/ Liens internes
Tous les termes