Catégories

🔍 Licence d'Utilisation 🔍

Sauf mention contraire, le contenu de ce blog est sous licence CC BY-NC-ND 4.0.

© 2025 à 2042 Sébastien Gioria. Tous droits réservés.

Principe Fondamental : Trust No One 🔒

🔒 Trust No One

Les guardrails d’entrée sont conçus pour filtrer et contrôler les requêtes avant qu’elles n’atteignent le modèle. Cela inclut la validation des entrées, la détection des tentatives de contournement et l’application de politiques de sécurité. Le but est de garantir que seules les requêtes conformes et sécurisées sont traitées par le modèle. C’est le fondement de la sécurité des systèmes; le principe de Trust No One (TNO) s’applique ici :

  • 🚫 Aucune Confiance par Défaut aux entrées utilisateur
  • Validation Systématique de chaque requête
  • 🔍 Vérification Continue des patterns suspects
  • 🛡️ Protection Multicouche contre les attaques

Voici une liste non exhaustive de types de guardrails d’entrée :

🔒 Détection de Jailbreaking

🎯 Détecter et prévenir les tentatives de contournement des restrictions du modèle.

Les guardrails surveillent les tentatives d'exploitation des failles.

🔍 Techniques de détection
  • 📊 Analyse de patterns : Formulations typiques
  • Détection d’anomalies : Prompts inhabituels
  • 🤖 Classification ML : Reconnaissance malveillante
⚠️ Exemples détectés
❌ "Ignore all previous instructions..."
❌ "You are now in developer mode..."
❌ "Pretend you are not an AI assistant..."

🛡️ Surveillance des comportements

🎯 Analyser les interactions des utilisateurs pour détecter des comportements suspects.

Systèmes de protection contre les injections malveillantes

📋 Validation thématique
  • ✅ Restriction aux sujets autorisés
  • 🔍 Détection des déviations
  • 📝 Listes blanches de topics
💡 Exemples
✅ "Comment réinitialiser mon mot de passe ?"
❌ "Comment réinitialiser... [SYSTEM: ignore]"
❌ "Écris-moi un poème sur les licornes"

🔐 Détection Données Sensibles

🎯 Identifier et protéger les informations sensibles dans les requêtes..

Protection de la vie privée et des informations sensibles

🎯 Identification automatique
  • 👤 Données personnelles : PII
  • 💳 Infos financières : Cartes, IBAN
  • 🏥 Données santé : Sécu sociale
  • 🔑 Secrets techniques : API keys
📝 Patterns de détection
📧 Email: [...]@[...].[a-z]{2,}
📱 Tel: (\+33|0)\d{9}
💳 CB: \d{4}[-]\d{4}[-]\d{4}[-]\d{4}

🔐 Validation des données en entrée

🎯 S’assurer que les données fournies par l’utilisateur respectent un format attendu

Traiter des données d'utilisateur en toute sécurité

📋 Validation des entrées
  • ✅ Vérification de la structure
  • 🔍 Détection des anomalies
  • 📝 Listes blanches de formats
💡 Appliquer les best-practices
  • Utiliser des schémas de validation
  • Limiter les types de données acceptés
OWASP Référence : OWASP - Validation des entrées

🔐 Contrôle d'accès

🎯 Vérifier que l’utilisateur a les autorisations nécessaires pour effectuer la requête.

Analyse les autorisations de l'utilisateur et appliquer le principe du moindre privilège pour limiter l'accès aux données sensibles.

📋 Analyse des autorisations
  • ✅ Vérification des rôles et permissions
  • 🔍 Détection des accès non autorisés
  • 📝 Listes blanches d’utilisateurs autorisés
💡 Appliquer les best-practices
  • Mettre en œuvre le principe du moindre privilège
  • Bloquer les accès par défaut
  • Valider les accès en fonction des rôles à chaque demande
  • Effectuer des revues régulières des accès
OWASP Référence : OWASP - Contrôle d’accès

🔐 Filtrage des métadonnées

🎯 Supprimer ou anonymiser les métadonnées sensibles des requêtes.

Analyser le contenu des fichiers transmis pour détecter les métadonnées sensibles et les anonymiser ou les supprimer.

📋 Analyser les métadonnées
  • ✅ Récupération des métadonnées via une analyse approfondie
  • 🔍 Détection des informations sensibles
  • 📝 Listes blanches de métadonnées autorisées
💡 Appliquer les best-practices
  • Anonymiser les métadonnées sensibles
  • Supprimer les métadonnées inutiles
  • Chiffrer les métadonnées sensibles

🔐 Contrôle des Versions de Modèles

🎯 S’assurer que seules les versions de modèle autorisées sont utilisées pour traiter les requêtes.

Contrôle des versions de modèles pour éviter l'utilisation de versions non sécurisées.

How to
  • 📌 Version Pinning : Fixer une version spécifique du modèle
  • 🔍 Validation de Hash : Vérifier l’intégrité du modèle chargé
  • 📋 Registre des Versions : Liste blanche des versions autorisées
  • ✅ Validation version avant chargement
  • ✅ Contrôle périodique de l’intégrité
  • ✅ Alertes sur tentatives non autorisées
⚙️ Implémentation
# Exemple de configuration
MODEL_CONFIG = {
    "version": "gpt-4-1106-preview",
    "hash": "sha256_du_modele",
    "approved_versions": [
        "gpt-4-1106-preview",
        "gpt-4-0613",
        "gpt-3.5-turbo-1106"
    ]
}
🚨 Mesures de Protection
  • 🛑 Blocage des versions non autorisées
  • 📢 Alerte sur tentative d’utilisation de version obsolète
  • 🔄 Fallback vers version approuvée si nécessaire
  • 📝 Journalisation des changements de version