ZeroLeaks lance Shield Small pour la détection locale des injections de prompts
ZeroLeaks a publié Shield Small, un classificateur léger de 118 millions de paramètres qui détecte les injections de prompts et les jailbreaks localement sur CPU.
Traduit automatiquement depuis l'original anglais.
ZeroLeaks a publié Shield Small, un classificateur compact conçu pour détecter les injections de prompts et les tentatives de jailbreak dans les applications d'IA. Publié le 2 octobre 2026, ce modèle fonctionne entièrement hors ligne sur un CPU standard, offrant aux développeurs une solution à faible latence pour filtrer le texte non fiable avant qu'il n'atteigne un agent.
Ce qui s'est passé
Shield Small est un modèle de 118 millions de paramètres basé sur l'architecture intfloat/multilingual-e5-small. Il utilise des poids ONNX int8 totalisant environ 118 Mo, ce qui le rend suffisamment petit pour être déployé parallèlement au code de l'application sans nécessiter de matériel GPU spécialisé. Le modèle fonctionne comme un classificateur binaire, étiquetant le texte saisi comme bénin ou comme tentative d'injection, et fournit un score de confiance pour chaque prédiction.
Cette version cible une lacune critique dans les flux de travail agentiques où les agents traitent des documents récupérés, des résultats d'outils ou des messages utilisateurs pouvant contenir des instructions cachées. En fonctionnant localement, le classificateur permet aux applications d'inspecter ces entrées en temps réel. Le système renvoie à la fois un verdict binaire et un score d'injection, laissant la décision finale de bloquer ou de réviser le contenu au développeur de l'application.
Cette version, étiquetée S15e, représente un effort ciblé pour fournir une base non commerciale pour le filtrage de sécurité. Bien que le code d'exemple soit sous licence MIT, les poids du modèle eux-mêmes sont publiés sous CC BY-NC 4.0, ce qui signifie que l'utilisation commerciale nécessite une licence distincte auprès de ZeroLeaks. Cette distinction met en évidence la double nature de la publication : accessible pour la recherche et les projets personnels, mais contrôlée pour le déploiement en entreprise.
Comment cela fonctionne
Le modèle opère comme un encodeur BERT à 12 couches avec une tête de classification binaire. Il traite le texte par fenêtres de 256 jetons (tokens), utilisant un pas de 192 jetons pour glisser sur les entrées plus longues. Pour toute entrée donnée, il scanne jusqu'à 32 fenêtres et renvoie le score d'injection le plus élevé trouvé. Cette approche par fenêtre glissante garantit que les attaques localisées au sein de documents plus vastes ne soient pas manquées par une moyenne globale.
Lors de l'utilisation de l'exemple Python fourni, le système tokenise l'entrée complète. Si le texte dépasse 6 206 jetons, le classificateur vérifie les 28 premières fenêtres et les quatre dernières, ignorant la section centrale. Dans de tels cas, le résultat inclut un indicateur coverage.truncated: true. Les développeurs doivent considérer un résultat non signalé sur un texte tronqué comme inconclusif plutôt que sûr, puisque la partie centrale omise n'a pas été analysée.
Le pipeline d'inférence est simple. Après avoir téléchargé le modèle via Hugging Face Hub, les développeurs peuvent initialiser la classe ShieldSmall et passer des chaînes de caractères pour la classification. La sortie comprend un statut booléen flagged et un score numérique. Le seuil par défaut pour le signalement est de 0,5, mais la documentation conseille d'ajuster cette valeur en fonction du trafic spécifique de l'application pour équilibrer sensibilité et faux positifs.
Détails clés
- Taille du modèle : 118 millions de paramètres avec 118 Mo de poids ONNX int8.
- Architecture : Encodeur BERT à 12 couches dérivé de
intfloat/multilingual-e5-small. - Performance : Rapporte une précision moyenne équilibrée par catégorie de 84,3 % et un rappel des attaques de 71,8 % lorsqu'il est combiné avec les règles Shield v2.
- Traitement des entrées : Traite des fenêtres de 256 jetons avec un pas de 192 jetons ; tronque les entrées dépassant 6 206 jetons.
- Licence : Les poids sont sous CC BY-NC 4.0 (non commercial) ; le code d'exemple est sous licence MIT.
- Déploiement : Fonctionne hors ligne sur CPU en utilisant Python 3.11 ou 3.12.
Pourquoi c'est important
Pour les ingénieurs construisant des systèmes agentiques, l'injection de prompts reste une menace persistante que les pare-feu traditionnels ne peuvent pas adresser. Ces attaques intègrent des instructions malveillantes au sein de données apparemment inoffensives, telles qu'une page web récupérée ou un ticket de support client. Shield Small fournit une couche de défense dédiée située entre l'ingestion des données et le traitement par l'agent, permettant aux équipes de filtrer les entrées dangereuses avant qu'elles n'influencent le comportement du modèle.
La capacité d'exécuter ce classificateur localement sur un CPU est significative en termes de coût et de latence. De nombreuses solutions de sécurité existantes nécessitent des appels API vers des services externes, ce qui introduit des risques de dépendance et des préoccupations potentielles concernant la confidentialité des données. En maintenant le processus de filtrage interne et hors ligne, les organisations peuvent conserver un contrôle plus strict sur leur flux de données tout en ajoutant une surcharge computationnelle minimale à leur infrastructure.
Cependant, cet outil n'est pas une solution miracle. Le taux de faux positifs rapporté de 7,2 % indique que des discussions légitimes sur la sécurité ou des requêtes complexes peuvent parfois être signalées. De plus, la performance du modèle varie selon les langues, la plupart des données d'entraînement étant en anglais. Les développeurs doivent intégrer ce classificateur dans le cadre d'une stratégie de sécurité plus large incluant des contrôles d'accès et des politiques d'outils, plutôt que de compter dessus comme unique mécanisme de défense.
Ce que vous pouvez faire
- Téléchargez les poids S15e depuis Hugging Face et testez le classificateur contre votre propre jeu de données d'entrées utilisateur.
- Ajustez le seuil de décision au-dessus ou en dessous de 0,5 en fonction de votre tolérance aux faux positifs par rapport aux attaques manquées.
- Implémentez une logique pour gérer les entrées tronquées en rejetant ou en examinant manuellement les textes dépassant 6 206 jetons.
- Extrayez le texte brut des documents HTML ou structurés avant de les transmettre au classificateur pour garantir une notation précise.
- Évaluez la performance multilingue du modèle si votre application prend en charge des langues autres que l'anglais, car la précision peut varier.


