{"id":836,"date":"2026-05-04T06:00:00","date_gmt":"2026-05-04T04:00:00","guid":{"rendered":"https:\/\/rosmarops.com\/?p=836"},"modified":"2026-10-25T10:18:00","modified_gmt":"2026-10-25T09:18:00","slug":"orquestador-envenenado-cuando-el-agente-de-confianza-es-el-atacante","status":"publish","type":"post","link":"https:\/\/rosmarops.com\/es\/blog\/orquestador-envenenado-cuando-el-agente-de-confianza-es-el-atacante\/","title":{"rendered":"Orquestador envenenado: cuando el agente de confianza es el atacante"},"content":{"rendered":"<p>Hay un supuesto que casi nadie cuestiona en las arquitecturas <a href=\"https:\/\/rosmarops.com\/category\/agentes-autonomia\/\" target=\"_blank\" rel=\"noopener\">multi-agente<\/a>: que el orquestador es de fiar. Los subagentes reciben instrucciones del orquestador, las ejecutan, devuelven resultados. El modelo de seguridad habitual se preocupa por lo que entra desde fuera \u2014el usuario malicioso, el documento contaminado, la API comprometida\u2014, pero raramente por lo que ocurre cuando el nodo que distribuye tareas ya viene roto de f\u00e1brica.<\/p>\n<p>Eso es exactamente lo que hace interesante \u2014y peligroso\u2014 el escenario del orquestador comprometido.<\/p>\n<p><strong>La arquitectura asume una jerarqu\u00eda de confianza que nadie audit\u00f3<\/strong><\/p>\n<p>En un sistema multi-agente t\u00edpico, el orquestador act\u00faa como coordinador: descompone objetivos, delega subtareas, agrega resultados y toma decisiones sobre el flujo. Los subagentes \u2014especializados en b\u00fasqueda, ejecuci\u00f3n de c\u00f3digo, acceso a bases de datos, comunicaci\u00f3n externa\u2014 conf\u00edan en que las instrucciones que reciben son leg\u00edtimas porque provienen de arriba.<\/p>\n<p>Este modelo reproduce una jerarqu\u00eda corporativa, y tiene el mismo punto ciego: si comprometes al jefe, tienes acceso a todo lo que el jefe puede ordenar. La diferencia con un entorno humano es que los subagentes no tienen escepticismo natural, no leen el tono, no detectan inconsistencias de comportamiento. Ejecutan.<\/p>\n<p>El problema no es te\u00f3rico. MITRE ATLAS, el marco de t\u00e1cticas adversariales espec\u00edficamente dise\u00f1ado para sistemas de ML y IA (<a href=\"https:\/\/atlas.mitre.org\">https:\/\/atlas.mitre.org<\/a>), documenta t\u00e9cnicas de manipulaci\u00f3n de pipelines de inferencia, inyecci\u00f3n en cadenas de razonamiento y compromisos de componentes intermedios. La t\u00e1ctica AML.T0051 \u2014\u00bbLLM Prompt Injection\u00bb\u2014 se extiende de forma natural a escenarios donde el prompt inyectado no viene del usuario sino del propio orquestador.<\/p>\n<p><strong>Tres vectores para comprometer un orquestador<\/strong><\/p>\n<p>El primer vector es el m\u00e1s directo: prompt injection persistente en la memoria del orquestador. Si el sistema utiliza memoria epis\u00f3dica o sem\u00e1ntica \u2014y la mayor\u00eda de las implementaciones con LangChain, AutoGen o CrewAI lo hacen\u2014, un atacante que consiga escribir en esa memoria puede modificar las instrucciones base que el orquestador transmitir\u00e1 a los subagentes en interacciones futuras. No hace falta acceso en tiempo real. Basta con haber contaminado el contexto antes de que el orquestador lo lea.<\/p>\n<p>El segundo vector es la suplantaci\u00f3n de identidad del orquestador. En arquitecturas distribuidas donde los agentes se comunican mediante APIs internas o colas de mensajes, la autenticaci\u00f3n entre nodos suele ser laxa o inexistente. Un componente externo puede emitir instrucciones con la firma \u2014o simplemente el formato esperado\u2014 del orquestador leg\u00edtimo. Los subagentes no verifican la cadena de custodia del mensaje; verifican, en el mejor caso, su estructura.<\/p>\n<p>El tercer vector es m\u00e1s sutil: la manipulaci\u00f3n del razonamiento del orquestador mediante datos de retorno envenenados. Si un subagente devuelve resultados que el orquestador procesa para tomar decisiones \u2014y esos resultados han sido manipulados para contener instrucciones encubiertas\u2014, el orquestador puede terminar distribuyendo tareas maliciosas sin que ning\u00fan componente individual haya sido comprometido directamente. Es un ataque de intermediario que se aprovecha del propio dise\u00f1o del sistema.<\/p>\n<p><strong>Confianza delegada sin trazabilidad<\/strong><\/p>\n<p>Lo que hace especialmente dif\u00edcil defender este escenario es que las acciones del orquestador envenenado son, en apariencia, completamente leg\u00edtimas. El subagente de acceso a base de datos recibe una query v\u00e1lida. El subagente de comunicaci\u00f3n externa env\u00eda un email con la sintaxis correcta. El subagente de ejecuci\u00f3n corre c\u00f3digo que cumple con los permisos asignados. No hay anomal\u00eda estructural. La anomal\u00eda es sem\u00e1ntica, y est\u00e1 en el nivel de intenci\u00f3n, que ning\u00fan sistema de logging convencional captura.<\/p>\n<p>Este es el n\u00facleo del problema de la confianza delegada en cadena: cada nodo hereda la legitimidad del nodo anterior sin verificaci\u00f3n independiente. Simon Willison, uno de los analistas m\u00e1s rigurosos en seguridad de LLMs, ha argumentado repetidamente (<a href=\"https:\/\/simonwillison.net\/2023\/Apr\/25\/dual-llm-pattern\/\">https:\/\/simonwillison.net\/2023\/Apr\/25\/dual-llm-pattern\/<\/a>) que la soluci\u00f3n estructural pasa por distinguir entre agentes con privilegios de escritura y agentes con privilegios de lectura, y por nunca permitir que el mismo componente que procesa entrada externa tambi\u00e9n emita instrucciones a otros agentes. Arquitectura como control de acceso.<\/p>\n<p><strong>Lo que el EU AI Act obliga a pensar<\/strong><\/p>\n<p>El Reglamento de IA de la UE (<a href=\"https:\/\/artificialintelligenceact.eu\">https:\/\/artificialintelligenceact.eu<\/a>) clasifica los sistemas de IA de alto riesgo por el impacto de sus decisiones, no por su arquitectura interna. Pero la nueva oleada de sistemas ag\u00e9nticos desplegados en entornos cr\u00edticos \u2014gesti\u00f3n de infraestructuras, soporte a decisiones legales, automatizaci\u00f3n de procesos financieros\u2014 entra de lleno en esa categor\u00eda. El art\u00edculo 9 del Reglamento exige sistemas de gesti\u00f3n de riesgos que sean continuos y que cubran el ciclo de vida completo. Un orquestador comprometido que opera durante semanas antes de ser detectado es exactamente el tipo de riesgo para el que esa obligaci\u00f3n de monitorizaci\u00f3n continua deber\u00eda dise\u00f1arse.<\/p>\n<p>El problema es que la mayor\u00eda de los equipos que despliegan agentes hoy est\u00e1n pensando en trazabilidad de resultados, no en integridad del flujo de razonamiento. La auditor\u00eda de un sistema ag\u00e9ntico no puede limitarse a registrar qu\u00e9 hizo cada subagente. Tiene que responder a la pregunta de por qu\u00e9 el orquestador emiti\u00f3 esa instrucci\u00f3n y en base a qu\u00e9 contexto lo hizo.<\/p>\n<p>\u00bfEs posible dise\u00f1ar un sistema multi-agente donde el orquestador sea auditado con la misma desconfianza que aplicamos a cualquier entrada externa, sin que eso paralice la capacidad operativa del sistema?<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Anatom\u00eda de un ataque donde el agente orquestador es el vector comprometido en arquitecturas multi-agente. Prompt injection, confianza delegada y MITRE ATLAS.<\/p>\n","protected":false},"author":1,"featured_media":868,"comment_status":"closed","ping_status":"closed","sticky":true,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[],"class_list":["post-836","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-agentes-autonomia"],"_links":{"self":[{"href":"https:\/\/rosmarops.com\/es\/wp-json\/wp\/v2\/posts\/836","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/rosmarops.com\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/rosmarops.com\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/rosmarops.com\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/rosmarops.com\/es\/wp-json\/wp\/v2\/comments?post=836"}],"version-history":[{"count":1,"href":"https:\/\/rosmarops.com\/es\/wp-json\/wp\/v2\/posts\/836\/revisions"}],"predecessor-version":[{"id":981,"href":"https:\/\/rosmarops.com\/es\/wp-json\/wp\/v2\/posts\/836\/revisions\/981"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/rosmarops.com\/es\/wp-json\/wp\/v2\/media\/868"}],"wp:attachment":[{"href":"https:\/\/rosmarops.com\/es\/wp-json\/wp\/v2\/media?parent=836"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/rosmarops.com\/es\/wp-json\/wp\/v2\/categories?post=836"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/rosmarops.com\/es\/wp-json\/wp\/v2\/tags?post=836"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}