Détection d’injections
Collez admin' OR 1=1 -- et la vérification le signale comme suspect, avec un motif SQL : c’est la ruse classique pour contourner un formulaire de connexion. Elle repère aussi les balises de script, les commandes et les chemins piégés. Gratuit dans votre navigateur.
- Gratuit
- Fonctionne dans votre navigateur
- Sans inscription
- Vos données restent sur votre appareil
Lancer gratuitement
Exemple résolu
- Texte
- admin' OR 1=1 --
- Motifs détectés
- sql
La détection d’injections examine une chaîne de caractères — champ de formulaire, paramètre d’URL, en-tête, prompt — et repère les motifs typiques des attaques par injection : SQL, script intersites (XSS) et, plus récemment, prompt injection visant les modèles d’IA. Elle signale les fragments à risque pour vous aider à assainir vos entrées avant de les traiter.
Pourquoi un simple texte peut devenir une attaque
Une injection cache des instructions à l’intérieur de données. Partout où votre site reçoit un texte venu de l’extérieur puis en traite une partie comme une requête, une page ou une commande, quelqu’un peut glisser ses propres ordres. Une apostrophe non échappée dans un formulaire de connexion peut exposer toute la table des utilisateurs ; un accent grave égaré dans un nom de fichier peut lancer une commande que personne n’a écrite. Cette vérification lit le texte et cherche les empreintes typiques de l’injection en base de données, du script intersite, des commandes système et des chemins qui sortent de leur dossier, puis indique s’il paraît suspect et de quel type.
Où elle aide, et ce qu’elle ne remplace pas
Elle est surtout utile devant ce que vous ne pouvez pas réécrire tout de suite : un ancien formulaire client, un module tiers, une fonction livrée dans l’urgence. Placée à l’envoi du formulaire, elle vous fait gagner du temps sans tout refaire. C’est une seconde ligne de défense, pas la correction elle-même : une base interrogée de façon sûre et un échappement correct dans votre propre code restent ce qui arrête l’injection, et un résultat propre ici ne prouve pas que la page est sûre.
Trois familles d’injection sous une même loupe
L’injection SQL glisse une commande de base de données dans un champ censé recevoir un nom ou un e-mail. Le XSS insère du code exécuté par le navigateur d’un autre visiteur. La prompt injection détourne les consignes d’un assistant IA en cachant des instructions dans le texte fourni.
Le détecteur connaît les signatures de ces trois familles et met en évidence les fragments d’une entrée qui y ressemblent.
L’entrée reste sur votre poste
L’analyse s’exécute entièrement dans votre navigateur. Vous auditez une entrée en toute discrétion, sans exposer ce que vous examinez, ce qui compte autant pour un développeur prudent que pour la conformité RGPD.
Du test manuel au contrôle continu
Sur cette page, le détecteur est gratuit et sans limite : idéal pour vérifier une entrée à la main. Applications mobiles, e-mail et Telegram s’ajouteront comme canaux.
Cas d’usage
Audit d’un formulaire avant mise en production
Avant de publier un formulaire de devis, un développeur passe des entrées de test au détecteur pour vérifier qu’une chaîne malveillante est bien repérée en amont, avant qu’elle n’atteigne la base de données.
Protéger un assistant IA
Studio Lumen SAS met en ligne un assistant qui répond aux visiteurs. Les messages entrants sont analysés pour repérer une prompt injection cherchant à détourner ses consignes.
Questions fréquentes
Quels types d’injection sont détectés ?
Les injections SQL, les scripts intersites (XSS) et les prompt injections visant les modèles d’IA. Le détecteur met en évidence les fragments d’une entrée dont la forme correspond à ces attaques connues.
L’outil protège-t-il mon site à lui seul ?
Non. Il signale des motifs à risque ; la protection réelle passe par des requêtes paramétrées, l’échappement à l’affichage et une séparation stricte entre instructions et données. Le détecteur est un garde-fou de diagnostic, pas un pare-feu.
Mes chaînes de test sont-elles envoyées à un serveur ?
Non. L’analyse se déroule dans votre navigateur, sur votre appareil. La chaîne testée n’est ni transmise, ni enregistrée, ni journalisée : elle ne quitte pas votre poste.
Est-ce gratuit ?
Oui, sans limite ni inscription dans le navigateur.
La prompt injection, de quoi s’agit-il exactement ?
D’une attaque propre aux assistants d’IA : un texte fourni par l’utilisateur cache des instructions destinées à détourner le comportement du modèle. Le détecteur repère les tournures typiques de ce détournement.
Outils associés
Pour les développeurs — accès API
Tout sur cette page est disponible par programmation. Cette section s'adresse aux équipes qui veulent l'intégrer à leurs systèmes ; les autres peuvent simplement utiliser l'outil ci-dessus.
Endpoint
Authentification par jeton Bearer : un seul POST met la tâche en file d’attente, et le résultat vous parvient par webhook ou lien signé.
Appeler depuis votre stack
curl -X POST https://api.kit.forhosting.com/verify/injection \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"1'\'' OR '\''1'\''='\''1"}'const res = await fetch("https://api.kit.forhosting.com/verify/injection", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "1' OR '1'='1"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/verify/injection",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "1' OR '1'='1"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/verify/injection", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"1\' OR \'1\'=\'1"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"1' OR '1'='1"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/verify/injection", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemple de requête
{
"text": "1' OR '1'='1"
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "verify.injection",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L’API est asynchrone : chaque appel renvoie un task_id immédiatement, puis vous interrogez l’état à raison d’une requête par seconde.
Tarifs
Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.
Erreurs
| HTTP | Code | Signification |
|---|---|---|
401 | unauthorized | Clé API absente ou invalide : vérifiez l’en-tête Authorization. |
402 | insufficient_balance | Solde insuffisant : rechargez votre compte pour lancer cette tâche. |
404 | unknown_type | Type de tâche inconnu : vérifiez le champ type de votre requête. |
429 | rate_limited | Trop de requêtes : ralentissez la cadence, puis réessayez. |
Notes techniques
Un signal, pas un pare-feu
Repérer un motif suspect ne remplace pas les défenses de fond : requêtes paramétrées côté base de données, échappement systématique à l’affichage, séparation stricte entre instructions et données pour un modèle d’IA. Voyez ce détecteur comme un garde-fou de diagnostic — utile pour auditer une entrée, comprendre un payload trouvé dans les journaux ou valider un correctif — et non comme l’unique barrière de votre application.
L’entrée reste sur votre poste
La chaîne que vous testez — parfois un vrai payload capté en production, parfois une donnée client sensible — n’est ni transmise, ni enregistrée, ni journalisée sur nos serveurs.
Du test manuel au contrôle continu
Pour contrôler des entrées à grande échelle ou brancher la vérification dans une chaîne d’intégration continue, la même analyse s’appelle via l’API, facturée $0.002 par requête en dollars US.
Cas d'intégration
Comprendre un payload dans les journaux
Une ligne étrange apparaît dans les logs d’accès. En la collant dans le détecteur, l’équipe confirme qu’il s’agit d’une tentative d’injection SQL et ajuste ses règles de filtrage en conséquence.
Questions techniques
Puis-je l’intégrer à ma chaîne d’intégration continue ?
Oui. Via l’API, la détection s’appelle depuis vos scripts de tests ou votre pipeline, pour bloquer une livraison si une entrée d’exemple révèle un motif d’injection non traité.