Passer au contenu principal
Un « rug pull » est un serveur MCP qui change ses définitions d’outils après que vous l’avez approuvé — re-définissant un outil de confiance pour faire quelque chose de nouveau, ou en ajoutant un discrètement. OrcaRouter attrape cela à la couche schéma : il baselinise l’ensemble d’outils annoncé de chaque serveur et le re-vérifie à chaque chargement, de sorte que la dérive échoue fermé au lieu de servir silencieusement les outils modifiés. Cette page est la référence du statut de schéma par serveur et de ce que chaque état signifie pour le trafic.

1. L’empreinte de baseline

Au premier contact la passerelle calcule un hash canonique de l’ensemble d’outils annoncé du serveur et le stocke comme baseline approuvé :
  • Le hash couvre le nom, la description et le schéma JSON d’entrée de chaque outil — exactement la surface qu’un rug pull altérerait (un outil gagnant un argument d’exfiltration, ou une description militarisée pour l’injection de prompt fait basculer le hash).
  • Il est indépendant de l’ordre : un serveur réordonnant sa liste d’outils, ou réordonnant les clés à l’intérieur d’un schéma, ne ressemble pas à un changement. Seul un véritable changement de définition déplace le hash.
À chaque sondage ultérieur la passerelle re-hache les outils en direct et les compare au baseline stocké. C’est une vérification par serveur — elle ne dépend d’aucune règle que vous rédigez.

2. Le cycle de vie du statut de schéma

Chaque serveur enregistré porte un schema_status. Les états et comment ils affectent le fait que les outils du serveur soient servis :
StatutSignificationOutils servis ?
(non baseliné)Première utilisation — aucun baseline enregistré encore.Posture de découverte : Oui (trust-on-first-use — le schéma courant est capturé comme baseline). Posture stricte : Non — voir pending ci-dessous.
verifiedLe schéma en direct correspond au baseline approuvé.Oui
changedDérive détectée — le schéma en direct diffère du baseline.Non — échoue fermé
pendingUn serveur non baseliné sous une posture stricte (pas de trust-on-first-use) — en attente d’approbation.Non — échoue fermé
quarantinedUn admin a retenu le serveur.Non — échoue fermé
Les trois états fermés — changed, pending, quarantined — empêchent tous les outils du serveur d’être servis à travers la passerelle. verified sert toujours ; un serveur non baseliné ne sert que sous la posture de découverte (trust-on-first-use) et est retenu en pending sous la posture stricte. La dérive ne passe jamais silencieusement.

3. Ce qui se passe en cas de dérive

Quand une re-vérification constate que le schéma en direct ne correspond plus au baseline :
1

Le statut bascule en changed

Le schema_status du serveur devient changed et l’horodatage de la dérive est enregistré.
2

Les outils cessent d'être servis

La passerelle échoue fermé : les outils de ce serveur sont retirés de la surface MCP unifiée, de sorte qu’un agent ne peut pas appeler les définitions modifiées.
3

La console le fait remonter

La dérive apparaît pour revue afin qu’un admin puisse comparer le nouvel ensemble d’outils à celui approuvé.
4

Re-baseliner ou mettre en quarantaine

Un admin approuve le nouveau schéma (re-baselinise — l’ensemble d’outils courant devient le nouveau baseline verified) ou met en quarantaine le serveur. Jusqu’à ce que l’un de ces deux arrive, le serveur reste fermé.

4. Ré-approuver un serveur ayant dérivé

Le re-baselining est un seul appel (ou l’action console) :
POST /api/workspace/firewall/mcp_servers/:id/approve_schema
Requiert le rôle Developer. Il enregistre l’ensemble d’outils en direct comme le nouveau baseline approuvé et ramène le serveur à verified. (Mettre un serveur en quarantaine est une action distincte, pour quand vous décidez que le changement est hostile — approve_schema ne fait que re-baseliner vers verified.) L’action est écrite dans la piste d’audit.
Ne ré-approuvez qu’après avoir revu le diff. Approuver un schéma ayant dérivé sans le vérifier déjoue le contrôle — cela dit à OrcaRouter que les nouvelles définitions d’outils (possiblement malveillantes) sont de confiance.

5. Où cela s’inscrit

La détection de dérive de schéma est la moitié couche-schéma de la défense contre le rug pull ; l’autre moitié est l’évaluation par appel sur la surface mcp (chaque tools/call est vérifié contre votre politique au dispatch). Ensemble elles couvrent à la fois « les définitions ont changé » et « cet appel précis est dangereux ».

Défense contre le rug pull

L’image complète du rug pull — baseline de schéma plus évaluation par appel.

Aperçu de la sécurité MCP

La passerelle MCP, les skills, et les credentials.

Empoisonnement d'outils MCP

La menace contre laquelle cette machine à états défend.

Événements d'audit MCP

Surveiller les changements de schéma et les décisions de la passerelle.