tools/call en
tiempo de despacho contra tu política en vivo. El conjunto de herramientas
anunciado de cada servidor registrado se toma como línea base en el primer
sondeo y se re-verifica en busca de deriva — si el esquema de herramienta
cambia respecto a la línea base aprobada, el servidor falla cerrado hasta que un
admin lo re-aprueba o lo pone en cuarentena. Y la capa de
Skills asigna a cada capacidad instalada una banda
de riesgo y un modo de cumplimiento — poniendo en cuarentena cualquier cosa
arriesgada o sin revisar hasta que un humano dé el visto bueno. Un servidor no
puede ganarse un pase libre comportándose durante las primeras cien llamadas.
1. Por qué la protección contra rug pull de MCP necesita evaluación por llamada
Una revisión en tiempo de conexión responde una pregunta una vez: ¿es seguro listar este servidor? No puede responder la pregunta que realmente importa en tiempo de ejecución: ¿es esta llamada específica, con estos argumentos específicos, segura ahora mismo? OrcaRouter responde la segunda pregunta. Cadatools/call que cruza el gateway
se evalúa en la superficie mcp antes de despacharse al servidor real, con
el nombre de la herramienta y los argumentos en mano. El veredicto se computa
fresco cada vez, así que en el momento en que una herramienta empieza a hacer
algo que tu política prohíbe — exfiltrar un secreto en un argumento, alcanzar un
host que está denegado, llamar a una capacidad que nunca aprobaste — la llamada
se detiene, sin importar cómo se comportó la misma herramienta hace un minuto.
mcp:
allow / audit
audit registra la llamada; allow permanece en
silencio.sanitize
deny
firewall deny: …) así
el agente puede adaptarse en vez de fallar.pending_approval
2. Cuarentena por banda de riesgo de skill
La segunda mitad de la defensa contra rug-pull cubre la cadena de suministro: las skills, plugins y servidores MCP bring-your-own que un agente instala. Cada uno se registra como un registro con alcance de espacio de trabajo, se escanea por un motor de riesgo determinista, y se le asigna una banda de riesgo (low /
medium / high / critical) más un modo de cumplimiento:
| Modo | Efecto en tiempo de ejecución |
|---|---|
allow | Deciden los veredictos de regla; la skill no añade nada. |
quarantine | Cualquier cosa por debajo de un deny se escala a pending_approval — las herramientas se ejecutan solo después de que un humano aprueba. |
block | Las herramientas de la skill se deniegan de plano. |
auto_detected y se pone en cuarentena hasta su revisión
— incluso si escaneó limpia, no se ejecuta por su propia autoridad. Y el modo de
una skill solo se aprieta más en un re-escaneo: un block o quarantine que
estableces nunca se relaja silenciosamente cuando se vuelve a presentar un
manifiesto.
Ver Firewall: Skills para el escáner completo, los
pesos de puntuación y las señales de confianza.
3. Detección de deriva de esquema de herramienta
El rug pull clásico es un servidor registrado que cambia lo que anuncia — añade una herramienta, altera el esquema de entrada de una herramienta, intercambia una descripción. OrcaRouter toma como línea base el conjunto de herramientas anunciado de cada servidor registrado en un sondeo exitoso y lo vigila en busca de deriva.Línea base en el primer sondeo
pending
hasta que un admin apruebe su conjunto de herramientas inicial).La deriva falla cerrada
changed y
deja de servirse — el gateway no despachará sus herramientas hasta que
decidas.Aprobar o poner en cuarentena
Auditado
schema_status de un servidor es uno de unknown (nunca con línea base),
verified (coincide con la línea base), changed (derivado, retenido), pending
(sin línea base bajo enforcing) o quarantined. Esta capa atrapa el rug pull que
mueve el esquema; la evaluación por llamada (§1) atrapa el que mantiene una
firma idéntica y solo cambia el comportamiento.
4. Un ejemplo concreto
Supón que un servidor MCP comunitarionotes anuncia una herramienta inofensiva
notes.search. La listas, la revisas, y funciona. Una semana después el servidor
está comprometido y notes.search empieza a adjuntar un argumento de
exfiltración que hace POST de tu contexto a un host atacante.
Un gateway que solo evalúa en tiempo de conexión lo reenviaría — el nombre de la
herramienta y el esquema parecen sin cambios. OrcaRouter evalúa la llamada:
args_match son eq, contains, regex, in,
cidr_match, gt, lt; cidr_match prueba un argumento con valor de IP contra
un CIDR. Para acotar dónde puede alcanzar una herramienta por host/CIDR, usa la
lista de destino de egress en vez de una
cláusula de argumento.)
En el despacho el motor devuelve deny, y en vez de reenviar la llamada el
gateway le entrega al agente un error de tool-result de MCP — un resultado
normal marcado como un error, no un fallo de transporte — así el modelo puede
adaptarse:
5. Cómo encaja todo junto
Evaluación por llamada vs. cuarentena de skill — ¿qué atrapa cada una?
Evaluación por llamada vs. cuarentena de skill — ¿qué atrapa cada una?
¿Esto toma como línea base el esquema del servidor?
¿Esto toma como línea base el esquema del servidor?
¿A dónde van las llamadas retenidas?
¿A dónde van las llamadas retenidas?
pending_approval retiene la llamada para que un humano la
resuelva en la consola (Developer+) o vía un callback de aprobación HMAC. Ver
modos de cumplimiento para cómo se
afloran las retenciones y aprobaciones a un agente.6. Configurarlo
Cada paso de abajo es una acción de consola / gestión autenticada con tu token de sesión o acceso — no la clave de relaysk-orca-…. Solo el tráfico de relay
/v1/* usa la clave de relay.
Registra tus servidores MCP detrás del gateway
Establece un veredicto por defecto y reglas en la superficie mcp
tool_name_glob y args_match para que las llamadas
arriesgadas resuelvan a deny, sanitize o pending_approval. Ver la
referencia de reglas del Firewall.Revisa las skills en cuarentena
quarantine hasta que un revisor
(Developer+) la apruebe. Lee la banda y los hallazgos primero.Despliega en sombra, luego aplica
