Zedmos

Seguridad de la IA

Permita la IA. Sin perderla de vista.

Su gente ya usa asistentes que usted no eligió, y cada vez más también lo hacen las herramientas de sus máquinas: agentes de programación que leen un repositorio, scripts que corren a ritmo de máquina, clientes MCP que llaman a herramientas por su cuenta. Esto los ve a todos sobre el cable: qué servicio, usado por quién, tratando datos dónde, autorizado o no; y después le deja decidir quién puede usar qué, e inspecciona lo que sale antes de que salga. En su propio cortafuegos, con el modelo que juzga ejecutándose en su hardware.

17
Reglas de proveedor, asistentes y agentes de programación
69
Detectores de contenido en 8 grupos
5
Clases de cliente, decididas por evidencias
0
Prompts enviados a un tercero para que los juzgue

Qué sale mal, y qué lo responde

El riesgo: nadie sabe qué se está usando

Los asistentes llegan sin una decisión de compra. Alguien se da de alta, otro instala un complemento en su editor, y la primera respuesta honesta a «¿qué servicios de IA usamos?» es una suposición. No se puede escribir una política para un tráfico que no se sabe nombrar.

Visibilidad: el inventario, sacado del cable

Cada servicio de IA visto en su tráfico, con el fabricante que hay detrás, dónde trata los datos y si usted lo ha autorizado. Diecisiete reglas de proveedor cubren los asistentes y, por separado, los agentes de programación —Cursor, Codeium, Windsurf, Tabnine y GitHub Copilot—, más un comodín para cualquier otra cosa clasificada como IA. No se instala nada en ningún portátil para conseguir esto.

El riesgo: quien llama no siempre es una persona

Un agente de programación leyendo un repositorio, un script con una clave de API prestada, un cliente MCP llamando a herramientas por su cuenta: los tres llegan al mismo proveedor que usa su personal, y un filtro que solo conoce el destino escribe la misma línea de registro para una persona y para un bucle.

Control: una regla por tipo de llamante

Navegador, SDK, agente, MCP o desconocido: cada uno recibe su propia acción, y una distinta por proveedor cuando eso importa. Además: listas de permitidos y bloqueados en el cliente, los nombres de herramienta que puede llevar una petición, un límite de velocidad por origen y un tope de tamaño de petición. La clase se decide antes de leer el cuerpo, así que se puede rechazar a un llamante sin inspeccionar ni una palabra de lo que escribió.

El riesgo: lo que se escribe, y lo que vuelve

El prompt es la fuga. Código fuente, una lista de clientes, una credencial pegada por comodidad. Y la respuesta es un problema en sí misma: se puede convencer a un asistente de que escriba la instrucción que causa el daño.

Protección: inspeccionado antes de salir

69 detectores de contenido en 8 grupos: identificadores nacionales de 22 países, secretos de nube, datos personales y de pago, inyección de prompts, y ocho para las instrucciones que convierten a un asistente en una herramienta en su contra: un script enviado a un intérprete de órdenes, un shell inverso, una instrucción de exfiltración, un intento de convencer a un agente de saltarse sus propias barreras. La vuelta de la respuesta también puede intervenirse, donde marca y registra y nunca bloquea.

El veredicto se alcanza en sus instalaciones

El texto sin estructura lo juzga un modelo de lenguaje que se ejecuta en su propio hardware. Ningún prompt, ninguna subida y ningún extracto se envían a un tercero para puntuarlos, que es la diferencia entre un control que puede poner en una respuesta a una revisión de compras y otro que le añade un subencargado.

Apagado hasta que usted lo encienda

La clasificación se ejecuta siempre, así que el inventario y la clase están en el registro del flujo desde el primer día y puede ver lo que ya hay ahí fuera antes de decidir nada. Los controles son un interruptor aparte, apagado por defecto y ajustado por grupo de políticas.

Cinco clientes, un destino, cinco respuestas distintas

Los cinco llegan al mismo proveedor de IA con menos de un minuto de diferencia. Solo uno de ellos es una persona.

1El cuerpolo que la petición hizo de verdad"jsonrpc":"2.0" · "method":"tools/call" · tool_resultsno puede fingirse sin hacerlo2Las cabeceraslo que la pila del cliente emite sin que se lo pidanx-stainless-* · client hints · fetch metadatano lo elige quien escribió el script3El User-Agentlo que dice ser"Mozilla/5.0 (Windows NT 10.0; Win64; x64) …"una línea, cualquiera puede escribirlaqueda anulada por 1 y 2CLASEbrowsersdkagentmcpunknown
La fila 3 es la única que lee un filtro por destino. Tres lecturas de una misma petición, la más difícil de fingir arriba. Un cliente que en la fila 3 dice ser un navegador y en la fila 2 no envía ninguna cabecera de navegador se clasifica por lo que hizo, no por lo que dijo, y el operador ve el nombre que fingía tener.
Qué llega al proveedorQué ve un filtro por destinoQué ve este motor
Alguien de marketinguna pestaña, una pregunta
tráfico hacia un proveedor de IA
BROWSERchromeenvía las cabeceras propias de un navegadorPermitido
Un script nocturnoresúmenes por lotes
tráfico hacia un proveedor de IA
SDKpython-httpxel transporte del SDK se identifica soloRegistrado
Un asistente de programaciónleyendo el repositorio
tráfico hacia un proveedor de IA
AGENTclaude-coderesultados de herramientas devueltos al modeloRegistrado con los nombres de las herramientas
Un cliente MCPllamando a una herramienta
tráfico hacia un proveedor de IA
MCPmcp-clienttrama JSON-RPC, método tools/callread_file denegado
Un script disfrazadodice ser Chrome
tráfico hacia un proveedor de IA
SDKspoofed-chromedice ser un navegador y no envía ninguna de sus cabecerasBloqueada
La última fila es la que importa. Todo filtro que se fía del User-Agent lo deja pasar como si fuera una persona, y ese es justo el agujero que esto existe para cerrar.