El nuevo whitepaper 'Lethal by Design' de Noma Security traza una línea arquitectónica más nítida entre dos mecanismos de extensión de agentes IA que los devs venían tratando como aproximadamente equivalentes: servidores MCP y Skills (el patrón Claude Skills, que se ha extendido a otras superficies de agentes). El número titular — cerca de uno de cada cuatro servidores MCP analizados expone riesgo de ejecución de código a través de ocho categorías de capacidades — es la parte que se cita. La metodología no está plenamente divulgada en el resumen público (tamaño de muestra, cobertura de registro, y definición exacta de "riesgo de ejecución de código" a través de las categorías están todos poco claros), así que trata el porcentaje como una señal direccional, no como un resultado de auditoría peer-reviewed. La observación arquitectónica sustantiva debajo importa más.

Esa observación: las herramientas MCP y los Skills se ven similares desde la perspectiva del autor del agente pero viven en lados opuestos de una frontera de observabilidad. Cuando un agente llama una herramienta MCP, los defensores ven los parámetros saliendo y las respuestas regresando — estructurados, logueables, enumerables como código fuente. Los Skills son diferentes. El agente carga un conjunto de instrucciones textuales en su contexto de razonamiento, y lo que pasa después se desarrolla dentro del razonamiento del modelo, donde las herramientas de observabilidad no pueden seguir. Puedes auditar el archivo que entrega el Skill; no puedes auditar las decisiones runtime que un modelo toma una vez que ese Skill está cargado en contexto. Eso no es un gap de tooling que mejor cobertura de SIEM cierra; es estructural a cómo los Skills funcionan.

El whitepaper nombra cinco patrones de incidentes reales para anclar la abstracción. **ContextCrush**: documentación envenenada lleva a exfiltración de archivos locales. **ForcedLeak**: datos CRM maliciosos desencadenan consultas a registros sensibles. **DockerDash**: metadatos de imagen Docker envenenados desencadenan ejecución de comando. Los **incidentes de Replit y Amazon Q** que ya ocurrieron — alucinaciones de agentes resultando en eliminación de producción. **Manipulación de memoria** para transferencias financieras fraudulentas recurrentes. No son especulativas; mapean a exposiciones arquitectónicas específicas que existen *hoy* en deployments de agentes en producción. Cada una es una forma diferente de "al agente se le permitió hacer algo que no debería, y el stack de seguridad alrededor no lo atrapó porque la decisión relevante pasó en una capa que no emite señales observables".

El frame defensivo de Noma es "No Excessive CAP" — **Capacidades** (allowlist herramientas estrechas, fijar versiones MCP), **Autonomía** (puertas de aprobación para acciones irreversibles), **Permisos** (credenciales con scope de usuario y expiración, no cuentas de servicio estáticas). Para devs, la lectura práctica es que el stack de seguridad de agentes se está bifurcando a lo largo de las mismas líneas que el problema de observabilidad. Las herramientas que funcionan para MCP — firewalls fuera-de-proceso como Pipelock, enforcement estilo gateway — no ayudan con Skills, porque los Skills no hacen llamadas externas que un proxy pueda interceptar; modelan el comportamiento del modelo desde adentro. Si tu deployment de agente usa MCP *y* Skills, necesitas dos posturas de seguridad separadas: una capa de enforcement para MCP en la frontera de red, y una disciplina de *revisión de contenido* para Skills antes de que entren en el contexto del modelo. El whitepaper está en go.noma.security/lethal-by-design.