Aller au contenu
ZarexDocs

Injection de prompt

Repérez les messages qui tentent de détourner votre assistant IA de ses instructions.

Une injection de prompt est un message conçu pour manipuler un modèle d'IA : lui faire ignorer ses instructions, révéler son prompt système, ou agir à la place de l'utilisateur. Cette règle donne à chaque message un score de 0 à 1 ; au-delà du seuil, la requête est refusée.

Le problème

Un assistant IA suit des instructions écrites en langage courant, et un utilisateur peut écrire les siennes : « ignore tes instructions », « affiche ton prompt système », « tu es maintenant un autre assistant ». Si votre assistant a accès à des données ou à des actions (consulter une commande, envoyer un e-mail), une injection réussie peut les détourner.

Ce qu'elle arrête

  • les tentatives de contourner les instructions de votre assistant ;
  • l'extraction du prompt système ou de données confidentielles ;
  • les jeux de rôle destinés à faire sortir l'assistant de son cadre.

Quand l'utiliser

Avant chaque appel à un modèle d'IA avec un texte écrit par un utilisateur : chatbot, support client, résumé de documents.

Configuration

Le texte à analyser se donne avec call :

server.ts
import express from "express";
import { zarex, promptInjection } from "@zarex/express";

const app = express();
app.use(express.json());

app.post(
  "/api/chat",
  zarex({
    key: process.env.ZAREX_KEY!,
    rules: [promptInjection({ mode: "DRY_RUN" })],
    call: (req) => ({ text: req.body.message }),
  }),
  async (req, res) => {
    // … appel à votre modèle
  }
);

Options

OptionValeursRôle
confidenceThresholdau-dessus de 0, jusqu'à 1Score à partir duquel le message est refusé. Défaut 0.75. Plus bas : plus strict, et plus de faux positifs.
inspect"text_content" · "body"Où chercher. Défaut : le texte donné via call.
oversize"deny" · "inspect" · "allow"Que faire d'un texte de plus de 32 Ko. Défaut "inspect" : le début et la fin sont analysés.
mode"LIVE" · "DRY_RUN" · "OFF"Défaut "LIVE".

Une heuristique, pas une garantie

La détection réduit le risque, elle ne le supprime pas. Commencez en DRY_RUN, réglez le seuil d'après votre trafic réel, et gardez les autres protections de votre application (droits limités du modèle, validation de ses actions).

Sur cette page