Jailbreak
IA / LLM 🟡 MidDéfinition
Tentative par l'utilisateur de faire ignorer au modèle ses règles (jeu de rôle, « mode développeur », encodages, demandes fractionnées). Anthropic distingue ce cas, où l'utilisateur est l'adversaire, de l'injection indirecte. Mitigations : écran d'innocuité par un petit modèle, validation d'entrée sur motifs connus, system prompt avec refus explicite, throttling des récidivistes, surveillance continue.
Analogie
Un client qui essaie dix formulations pour que le guichetier enfreigne la procédure.
Exemple de code
const strikes = new Map<string, number>();
async function handle(userId: string, text: string) {
const screen = await client.messages.create({
model: 'claude-haiku-4-5', max_tokens: 20,
output_config: { format: { type: 'json_schema', schema: {
type: 'object', properties: { is_harmful: { type: 'boolean' } },
required: ['is_harmful'], additionalProperties: false } } },
messages: [{ role: 'user', content: `Classe ce contenu :\n<content>${text}</content>` }],
});
if (JSON.parse(screen.content[0].text).is_harmful) {
const n = (strikes.get(userId) ?? 0) + 1; strikes.set(userId, n);
if (n >= 3) await throttle(userId); // récidive → ralentir / bannir
return 'Cette demande viole nos conditions d\'utilisation.';
}
return mainCall(text);
}
Cas d'usage
Chatbots publics, produits grand public, toute surface exposée aux tentatives de contournement.
Anti-pattern
Répondre au jailbreak par un system prompt toujours plus long : les règles en code et la surveillance font le travail.
Termes liés
Sources
Fiche mise à jour le 2026-09-27