Vérificateur d'empreinte LLM

Vérificateur d’empreinte d’API LLM

L’API que vous avez achetée utilise-t-elle réellement le modèle annoncé ? Cet outil envoie une série de questions de sondage à réponse unique, établit l’empreinte des distributions de réponses et les compare à une référence de confiance au moyen de la divergence de Jensen-Shannon — entièrement dans votre navigateur ; votre clé API n’est jamais téléversée.

Méthode

Demandez à n'importe quel LLM de « donner un nombre aléatoire entre 1 et 100 » et il se trahit — GPT-4o est obsédé par 42 et 37, Claude préfère 47, et Llama adore 53. Ces habitudes proviennent des statistiques des données d'entraînement ; le changement de nom, les prompts système et la quantification ne peuvent pas les effacer.

Cet outil met en œuvre le protocole de vérification de Bruckner, « One Token Is Enough » (arXiv:2607.10252) : des tests à jeton unique sur plusieurs tâches et langues, évalués par divergence de Jensen-Shannon par rapport aux empreintes de référence officielles — la tranche dans laquelle tombe la distance détermine le verdict.

La batterie complète (16 tests) vérifie le modèle avec un taux d'erreur équilibré d'environ 9,5 % ; le niveau standard (8 tests) atteint environ 10,6 %. Les tests ressemblent à des conversations ordinaires : les revendeurs ne peuvent donc ni les détecter ni les fausser.

Points forts

  • Votre clé API reste dans votre navigateur — les requêtes sont envoyées directement à l’endpoint testé, ce que vous pouvez vérifier dans les outils de développement.
  • Implémente la méthode publiée dans « One Token Is Enough » (arXiv:2607.10252), avec des données de référence documentées et accessibles.
  • Deux modes : auditez un endpoint par rapport au modèle annoncé, ou effectuez un bilan d’aléatoire IA partageable sur n’importe quel endpoint.

Comment l'utiliser

01

Saisissez votre endpoint

URL de base, clé API, puis sélectionnez le modèle qu'il prétend être. La clé reste uniquement en mémoire dans le navigateur ; les requêtes sont envoyées directement à votre endpoint.

02

Lancez les dés quelques centaines de fois

Le niveau standard envoie 8 tests × 25 échantillons, soit ≈ 200 requêtes en quelques minutes ; le mode rapide envoie 60 requêtes en environ une minute, tandis que le mode Strict exécute les 16 tests pour réduire le taux d'erreur à environ 9,5 %.

03

Lisez l'échelle

Voyez d'un coup d'œil dans quelle tranche tombe la distance — avec les distances par unité et une comparaison complète des distributions.

Fonctionnement de la vérification des empreintes des API LLM

Qu’est-ce qu’une empreinte comportementale d’un LLM ?

Les grands modèles ne peuvent pas produire de nombres véritablement aléatoires : lorsqu’on leur demande de « donner un nombre aléatoire entre 1 et 100 », chaque modèle a des valeurs favorites qu’il ne peut pas dissimuler, selon des proportions stables et différentes d’un modèle à l’autre. Assemblez les distributions de réponses de quelques dizaines de tests à réponse d’un seul mot de ce type, et vous obtenez une empreinte comportementale que le changement de nom, les modifications de prompt et la quantification ne peuvent pas effacer.

À une température de 1,0, les modèles GPT privilégient systématiquement 42 et 37, Claude préfère 47, et Llama adore 53 : ces préférences proviennent des habitudes probabilistes apprises dans les données d’entraînement. Elles restent stables dans le temps pour un même modèle et diffèrent nettement d’un modèle à l’autre. Chaque test est une question sémantique ordinaire, tirée aléatoirement d’un ensemble de formulations (nombres aléatoires, couleurs, lettres, prompts multilingues), sans chaîne magique. Un relais malhonnête peut donc difficilement les détecter ou les intercepter à l’aide de règles fondées sur des mots-clés.

Coût de la vérification : trois niveaux de test

Collez l’adresse et la clé, sélectionnez le modèle déclaré, puis lancez la vérification ; le coût de chaque niveau est indiqué juste à côté du bouton et déduit de votre propre quota.

NiveauUnitésRequêtesDuréeTaux d’erreur
Rapide4 × 1564~1 minsupérieur (aperçu)
StandardPAR DÉFAUT8 × 25204~2 min~10,6 %
Strict16 × 25404~4 min~9,5 %

En mode audit de l’endpoint, la référence est par défaut la bibliothèque d’empreintes intégrée (chaque empreinte indique sa date de collecte et les unités couvertes). Vous pouvez également sélectionner un endpoint de confiance personnalisé dans les options avancées — généralement l’API officielle ou OpenRouter — afin de recueillir une distribution de comparaison en temps réel lors de la même exécution. Les réponses arrivent unité par unité et vous pouvez annuler à tout moment ; le rapport fournit une conclusion en trois niveaux, la divergence moyenne de Jensen-Shannon sur une échelle accompagnée des valeurs de référence de l’article, la JSD par unité avec comparaison des deux distributions, ainsi que des données techniques objectives comme l’utilisation de tokens, la latence et la stabilité du routage.

Références des conclusions : dans quel niveau la distance se situe-t-elle ?

Les deux empreintes sont comparées unité par unité à l’aide de la divergence de Jensen-Shannon, puis moyennées. L’article a mesuré : un modèle comparé à lui-même ≈ 0,140, des déploiements chez différents fournisseurs ≈ 0,227, et des modèles différents ≈ 0,463. Les trois seuils sont dérivés de ces valeurs, stockés de manière centralisée et accompagnés de leur source.

0.25CorrespondanceCohérent avec le modèle déclaré
0.250.35SuspectRelancez le test à un niveau supérieur ou essayez une autre référence
> 0.35Probablement différentL’empreinte contredit clairement la référence officielle

Chaque unité de test (tâche × langue) produit une distribution empirique normalisée de réponses d’un seul mot ; la JSD est calculée pour chaque unité (base 2, de 0 à 1), et la distance de l’endpoint correspond à la moyenne des unités ayant suffisamment d’échantillons valides. Les seuils sont stockés de manière centralisée et leurs sources sont indiquées pour faciliter les calibrages futurs. Toutes les empreintes de référence intégrées proviennent du jeu de données public officiel de l’article (Zenodo, CC-BY-4.0, couvrant 167 modèles), recueilli avec exactement le même prompt système minimal et fixe que celui utilisé par cet outil pour l’échantillonnage en direct.

Il s’agit d’un élément probant, pas d’une preuve

Il s’agit d’une méthode statistique dont le taux d’erreur est connu ; les déploiements quantifiés, les mises à jour silencieuses et les empreintes obsolètes peuvent tous modifier légitimement les distributions. Les modèles de raisonnement sont signalés comme présentant une confiance faible lorsque le raisonnement ne peut pas être désactivé.

À considérer comme

Un déclencheur pour relancer le test et changer de référence Un élément statistique à prendre en compte avant de changer de canal Un signal à combiner avec d’autres

Jamais comme

Une accusation publique envers un fournisseur Une preuve de culpabilité fondée sur une seule exécution Une conclusion qui décide à votre place

Les fournisseurs qui déploient des variantes quantifiées, mettent à jour leurs modèles silencieusement ou utilisent des empreintes de référence devenues obsolètes peuvent tous modifier légitimement les distributions. Une conclusion isolée ne doit donc jamais être interprétée comme une accusation envers un fournisseur. Pour les modèles de raisonnement, la stratégie complète est la suivante : les tests incluent par défaut des paramètres désactivant le raisonnement, puis utilisent un canal post-raisonnement (avec un budget de tokens plus élevé) si l’endpoint refuse ces paramètres, et signalent l’ensemble du résultat comme présentant une confiance faible. En cas de doute, relancez le test à un niveau supérieur, essayez une autre référence et combinez ces résultats avec d’autres signaux, comme le prix et la latence, avant de prendre une décision.

Pourquoi l’outil s’exécute dans votre navigateur

Un outil qui vérifie la fiabilité des autres ne devrait pas vous demander votre clé en échange. Tosea n’intervient jamais dans le chemin des requêtes ; lorsqu’un endpoint bloque les requêtes cross-origin, l’outil génère une commande curl équivalente afin que vous puissiez continuer dans un terminal local.

Serveurs Tosea — ne transite pas par le chemin de la requête, ne voit jamais votre clé, votre endpoint ni vos résultats ; Open source sur GitHub — auditez le moteur de détection ligne par ligne →

La clé reste uniquement en mémoire dans la page et n’est écrite dans localStorage que si vous cochez explicitement « mémoriser la configuration ». Les tests sont envoyés directement depuis votre navigateur vers l’endpoint saisi : Tosea n’utilise aucun proxy et ne recueille aucune télémétrie. La méthode, les seuils et les sources des données de référence sont tous publiés sur cette page et peuvent être comparés ligne par ligne avec le dépôt open source.

Références et données
Pour aller plus loin

FAQ

Non. La clé reste uniquement en mémoire dans votre navigateur (ou, si vous le souhaitez, dans votre propre localStorage), et les requêtes de test sont envoyées directement par votre navigateur vers le point de terminaison que vous avez configuré. Vous pouvez le vérifier dans le panneau Réseau des DevTools.

Les LLM répondent aux questions sémantiques à un mot (comme donner le nom d’un nombre aléatoire) avec des distributions de probabilités stables et propres à chaque modèle. L’outil échantillonne ces distributions à une température de 1,0 et les compare à l’aide de la divergence de Jensen-Shannon : un même modèle chez différents fournisseurs obtient environ 0,227, contre environ 0,463 pour des modèles différents (arXiv:2607.10252).

Une vérification standard consiste en 8 cellules × 25 échantillons, soit environ 200 requêtes d’environ 90 tokens chacune — environ 0,005 $ au tarif de gpt-4o-mini. L’estimation exacte s’affiche avant le démarrage, et rien n’est envoyé tant que vous n’avez pas confirmé.

Non. Le verdict est une observation statistique, pas une accusation. La méthode présente un taux d’erreur inhérent (≈ 10,6 % d’EER avec 8 cellules), et les déploiements quantifiés, les mises à jour silencieuses des modèles ou des empreintes de référence obsolètes peuvent tous modifier les distributions. Considérez ce résultat comme un élément parmi d’autres et effectuez un nouveau test avant de tirer des conclusions.

Certains points de terminaison n’autorisent pas les requêtes navigateur interorigines (CORS). Cela ne signifie pas nécessairement qu’il y a un problème : l’outil le détecte et vous fournit une commande curl équivalente afin que vous puissiez tester le point de terminaison depuis votre propre terminal.

Avant l’échantillonnage, l’outil teste le paramètre de désactivation du raisonnement accepté par votre point de terminaison (reasoning d’OpenRouter, thinking de Zhipu ou le style reasoning_effort d’OpenAI). Si aucun ne fonctionne, il utilise un canal post-raisonnement avec un budget de tokens plus élevé et indique clairement que le niveau de confiance est inférieur.

Confidentialité

Tout s'exécute dans votre navigateur : la clé API reste uniquement en mémoire dans le navigateur, les requêtes de test sont envoyées directement de votre navigateur à votre endpoint — jamais via un serveur Tosea — et aucune donnée analytique n'est collectée. Le code est open source et auditable. Open source sur GitHub — auditez le moteur de détection ligne par ligne →

Outils associés