Tu agente de codificación de IA puede ejecutar código malicioso apenas por leer la documentación de una skill. Sin prompt explícito. Sin comando del usuario. El payload está dentro del code example. El agente lo reproduce como parte de la ejecución normal. Eso es PoisonedSkills: Document-Driven Implicit Payload Execution. 4 frameworks, 5 modelos, 11.6% a 33.5% de tasa de bypass. 4 CVEs confirmados.
DDIPE: el ataque que bypasea lo que prompt injection no consigue
Document-Driven Implicit Payload Execution. La técnica embute lógica maliciosa en code examples y config templates en la documentación de skills. Agentes de codificación como Claude Code, OpenHands, Codex CLI y Gemini CLI cargan skills de registries públicos. Cuando procesan una task, leen la doc y reproducen los code examples como parte de la ejecución normal. El payload está dentro del ejemplo. El agente ejecuta sin saber que es malicioso.
El dato que lo cambia todo: instrucciones explícitas de ataque, "ejecuta este comando malicioso", alcanzan 0% de bypass bajo defensas fuertes. DDIPE alcanza 11.6% a 33.5%. El payload disfrazado de documentación bypasea lo que prompt injection directo no consigue. El alineamiento del modelo reconoce una instrucción de ataque. No reconoce un code example que parece legítimo.
Los números: 1.070 skills, 15 categorías MITRE, 4 CVEs
El estudio generó 1.070 adversarial skills a partir de 81 seeds, cubriendo 15 categorías MITRE ATT&CK. Los frameworks probados: Claude Code, OpenHands, Codex CLI y Gemini CLI. Los modelos: Claude Sonnet 4.6, GLM-4.7, MiniMax-M2.5, GPT-5.4 y Gemini 2.5 Pro.
El estudio confirmó 4 CVEs. 2 correcciones ya fueron deployadas. La superficie es real y explorable hoy, no es pesquisa teórica. Cada CVE representa un camino concreto de ejecución de código malicioso por medio de documentación de skill en frameworks en producción.
Los 4 estudios de caso: sandbox bypass, CI/CD amplificador, carga de skills y fix cosmético
Codex CLI: sandbox semantic bypass. El agente escapó del sandbox por una brecha en los permisos. El sandbox restringía operaciones de filesystem, pero no validaba la semántica de la acción. El payload ejecutó operaciones que parecían legítimas dentro del contexto de la skill pero que violaban la intención del sandbox.
Gemini CLI: CI/CD como attack amplifier. En headless mode, el Gemini CLI remueve confirmaciones de permiso. El payload ejecuta sin interacción humana. Un agente corriendo en CI/CD sin approval gates es un vector de ejecución silenciosa, nadie ve, nadie aprueba, nadie bloquea.
Claude Code: carga de skills bypass en las local settings. El mecanismo de carga de skills puede ser manipulado vía configuraciones locales, permitiendo que skills maliciosas sean inyectadas sin validación del registry.
OpenHands: fix a nivel de prompt, no en la arquitectura. La corrección fue hecha en el prompt del sistema, no en la estructura del framework. Los fixes a nivel de prompt son frágiles, cambios en el modelo o en el contexto pueden reabrir el vector. Es curar el síntoma, no la enfermedad.
La lección estructural: alignment y guardrails son complementarios, no reemplazables
Dos capas de defensa interactúan de forma asimétrica: model alignment y architectural guardrails. Remover la protección arquitectónica amplifica la ejecución en 11.3x para modelos débilmente alineados. Apenas 1.6x para modelos bien alineados. La diferencia es brutal.
Alineamiento solo no basta. Guardrails solos no bastan. Los dos necesitan estar presentes. Modelos bien alineados sin guardrails todavía ejecutan payloads sofisticados. Guardrails sin alineamiento son circunvenibles por brechas semánticas. La defensa eficaz es la interacción entre las dos capas, cada una cubriendo las fallas de la otra.
El dato que valida la multi-model verification: apenas 1.6% de los payloads bypaseó todos los modelos simultáneamente. Antes de una acción de alto riesgo, pasar el código por 2+ modelos reduce la tasa de bypass de 33.5% a menos de 2%. Es la countermeasure más viable que tenemos hoy.
Los skill registries son la nueva supply chain
Las skills tienen privilegios de curated libraries sin el mismo nivel de auditoría. Cuando un agente carga una skill de un registry, asume que el contenido es confiable. Los code examples en documentación no son texto inofensivo, son código que el agente reproduce y ejecuta. La misma confianza delegada que existe en npm install existe en la carga de skills, pero sin el ecosistema de auditoría que el npm construyó en torno a lockfiles, integrity checks y scope validation.
El CI/CD headless mode es amplificador de ataque. Agente en CI sin interacción humana es bypass silencioso. La combinación de skill registry no-auditado con CI/CD autónomo crea una superficie de ataque que nadie está monitoreando.
En Tech86, evaluamos superficies de ataque en pipelines de agentes de IA, skill registries, permisos CI/CD, guardrails arquitectónicos. Si tus devs usan agentes de codificación en producción, necesitas saber lo que esas skills pueden hacer antes del primer payload.
Continúa en el tema
Segurança de Agentes de IA: Prompt Injection, Worms e Supply Chain →