Le jeu de rôle marche moins bien que vous le pensez
JailbreaksPar l'équipe SwarmAttacker chez JolocorpPublié 8 min de lecture

Ouvrez n'importe quel fil sur le jailbreak d'un modèle de langage et vous trouverez la même astuce en tête : enfilez un costume. Dites au modèle qu'il est un testeur d'intrusion autorisé. Annoncez que vous êtes chercheur en sécurité et qu'il s'agit d'une mission certifiée et validée. Internet traite ce jeu de rôle comme un déblocage fiable, une formule magique qui fait passer le modèle de prudent à coopératif.
SwarmAttacker passe sa vie à envoyer des requêtes qu'un filtre de sécurité pourrait ne pas apprécier, nous étions donc en position de mesurer réellement si le costume fonctionne. Ce n'est pas le cas, du moins pas comme les gens le pensent. Ce qu'il fait vraiment est plus étrange, et plus utile à savoir.
Le personnage du pentester autorisé lève-t-il les refus ?
Quand un filtre de sécurité refuse l'une des requêtes de l'agent, nous voulons savoir ce qui le débloque réellement. Nous avons donc pris la queue dure : 411 requêtes réelles qu'un filtre avait déjà refusées sur GPT-5.5, et nous avons rejoué chacune de quatre manières. Mêmes requêtes, intervention différente, et on compte la fréquence à laquelle le refus est levé.
Ce qui débloque une requête refusée
Rejoué sur 411 requêtes refusées, GPT-5.5. Le jeu de rôle (cadrage d'autorisation) aide ici, mais lisez la suite pour le retournement.
Lu de gauche à droite, le jeu de rôle a l'air correct. Renvoyer exactement la même requête, sans rien changer, l'a débloquée 54 % du temps. Habiller le prompt avec le cadrage « c'est autorisé, je suis chercheur en sécurité » l'a débloquée à 68 %, un solide +14 points. Bricoler le contexte environnant n'a pratiquement rien donné, 52 %, du bruit par rapport à la base du simple renvoi. Et basculer vers un modèle frère plus permissif a tout débloqué, sans exception.
Donc le jeu de rôle gagne ? Pas si vite. Ce +14 n'est toute l'histoire que si vous arrêtez de mesurer à un seul modèle.
Le retournement : sur l'ancien modèle, le même personnage doublait les refus
SwarmAttacker a d'abord été construit contre un modèle plus ancien. Sur ce modèle, exactement le même cadrage de personnage n'aidait pas. Il nuisait. Avec ces marqueurs « je suis autorisé / pentest certifié » dans le prompt, le taux de refus montait, au lieu de baisser. Il doublait à peu près les refus.
Une fois qu'on réfléchit au fonctionnement d'un classifieur de sécurité, cela prend un sens sinistre. Le classifieur est entraîné à repérer les gens qui essaient de le contourner par la parole. Et à quoi cela ressemble-t-il ? À une justification spontanée. À un « ne vous inquiétez pas, tout cela est autorisé » que personne n'a demandé. Le costume que vous enfilez pour paraître légitime est précisément le signe que le classifieur a appris à signaler. Sur l'ancien modèle, annoncer vos accréditations était la façon la plus bruyante possible de dire « je suis la chose que vous surveillez ». Ce fut la première chose que nous avons supprimée en développement.
La ligne de personnage censée ouvrir la porte était exactement la phrase qui la verrouillait à double tour. Puis, une version de modèle plus tard, la même ligne s'est mise à aider.
C'est là la vraie découverte, et ce n'est ni « le personnage est bon » ni « le personnage est mauvais ». C'est que la réaction du classifieur au cadrage de personnage est instable. Elle a changé de signe entre deux versions de la même famille de modèles : pénalité sur l'ancienne, bonus sur la nouvelle. Personne ne nous a dit qu'elle basculerait. Nous ne le savons que parce que nous l'avons mesurée les deux fois.
Pourquoi cela compte pour quiconque livre un agent
Une technique dont le signe bascule entre deux versions de modèle n'est pas une technique. C'est un pile ou face dont vous ne pouvez pas prédire le biais à l'avance. Si vous codez en dur un personnage de « pentester autorisé » dans vos prompts parce qu'un billet de blog a promis que cela fonctionne, vous pariez votre fiabilité sur une bizarrerie de classifieur qui s'est déjà inversée une fois et s'inversera volontiers de nouveau à la prochaine version. Le jour où votre fournisseur publie une mise à jour, votre déblocage astucieux peut discrètement devenir votre plus grande source de refus, et rien dans vos logs n'expliquera pourquoi.
Les leviers fiables, il s'avère, sont les plus ennuyeux. Renvoyez simplement la requête : aucune astuce, aucun costume, et cela débloque à soi seul plus de la moitié de la queue. C'est le levier sur lequel nous nous appuyons le plus, et c'est le sujet d'un billet entier sur pourquoi réessayer bat presque tout le reste. Et quand une requête ne passe vraiment pas, basculer vers un modèle plus permissif la débloque à chaque fois. Les deux fonctionnent de la même manière aujourd'hui, demain et après la prochaine mise à jour de modèle, parce qu'aucun des deux ne dépend du fait de deviner un classifieur.
Nous n'avons pas jeté le cadrage de personnage. Sur le modèle actuel, il vaut un vrai +14 points, nous le gardons donc, mais derrière un interrupteur que nous pouvons basculer par modèle, jamais figé dans le prompt comme un article de foi. Quand les chiffres disent qu'il aide, il est activé. Quand un nouveau modèle arrive, nous remesurons avant de lui faire de nouveau confiance. C'est la vraie leçon : le jailbreak bruyant et célèbre est le levier le moins fiable du tableau, et l'astuce consiste à le traiter comme tel. Si vous aimez ce genre de résultat « le folklore a tort », nous en avons d'autres.


