• Tech Support ⤴
  • Projects
  • Services
    • AI Development
    • UI/UX Design
    • Web Development
    • Technology Support
    • Mobile App Development
    • Banking ATM Interfaces
    • Process Automation
    • Security Auditing
    • Local AI Servers
  • odoo ERP
get in touchStart with Eva
logo
Tech Support ⤴
Projects
Services
AI DevelopmentUI/UX DesignWeb DevelopmentTechnology SupportMobile App DevelopmentBanking ATM InterfacesProcess AutomationSecurity AuditingLocal AI Servers
odoo ERP
get in touchStart with Eva
Loading…
logo

Transforming businesses through AI-powered digital innovation and creative excellence.

Quick Links

BlogAinexProjectsContact us

Contact Us

pinDubai Digital Park, A5, DTEC - Silicon Oasisemail[email protected]phone+971 55 7538087
© 2026 aratech. All rights reserved.
Privacy PolicyTerms of ServiceCookie Policy
Inicio / Blog / La cerradura que revisa la dirección: SlugFest, npm y el agente de IA que lo instala todo

La cerradura que revisa la dirección: SlugFest, npm y el agente de IA que lo instala todo

Un fallo en la publicación de confianza de npm permitió a los atacantes hacerse con más de 1.500 paquetes simplemente reclamando el nombre de un repositorio abandonado, y ahora los agentes de IA son quienes instalan el código. La corrección de GitHub cambia lo que significa "confianza".

16 de octubre de 2026 - 7 min de lectura

Puntos clave

ExpandCollapse
  • - SlugFest expuso un vínculo de confianza basado en el nombre en la publicación de confianza de npm: más de 1.500 paquetes y 10 millones de descargas quedaban al alcance reclamando un slug de repositorio de GitHub abandonado.
  • - No hizo falta robar credenciales. Un renombrado o una transferencia rutinaria de repositorio era toda la condición previa.
  • - La corrección de GitHub caduca las configuraciones de publicador de confianza no validadas a las 48 horas y vincula la confianza al ID inmutable del repositorio.
  • - Los agentes de IA instalan unas 70 paquetes al mes en un endpoint típico y hasta 350 en máquinas de desarrollo, resolviendo dependencias sin comprobar su origen.
  • - La llegada de paquetes ya es un evento de seguridad registrable: la misma debilidad de vinculación por nombre afectó a Open VSX (87 paquetes de extensiones) y al Marketplace de VS Code (677).
Ilustración cyberpunk oscura de un candado luminoso con forma de dirección de repositorio abierto por una mano de circuitos mientras nodos de agentes de IA fluyen hacia una pila de cajas de paquetes

Toda brecha en la cadena de suministro tiene un momento en el que la confianza cambia de manos sin que nadie lo note. El nuestro ocurrió en un sistema que casi ningún equipo revisa: el enlace entre un repositorio de GitHub y un paquete de npm.

Los investigadores de Bloom Security bautizaron el fallo como SlugFest, y la metáfora de su investigador principal, Golan Myers, es la que se quedó: es como una cerradura que revisa la dirección de la puerta en lugar de quién es el dueño de la casa. Cuando el dueño se muda, quien se instala recibe la llave.

Aquí está la parte incómoda. Nadie tuvo que robar una credencial. La única condición previa fue renombrar un repositorio.

Qué debía resolver la publicación de confianza de npm

En julio de 2025 npm lanzó trusted publishing, y la idea era genuinamente buena. En lugar de guardar tokens de npm de larga duración en un servidor de compilación (y filtrarlos por registros, cachés y runners de CI comprometidos), un flujo de trabajo de GitHub Actions solicita un token OpenID Connect de vida corta, lo presenta a npm y recibe a cambio una credencial de publicación. Las versiones llegan con atestaciones de procedencia, así que cualquiera puede rastrear dónde se construyó un paquete.

El diseño elimina toda una clase de incidentes por fuga de secretos. También introdujo un modo de fallo sutil, por un solo campo.

npm vinculó la relación de confianza a la dirección legible del repositorio: owner/repository. Los tokens OIDC de GitHub también llevan el ID numérico permanente del repositorio, que sobrevive a renombrados y transferencias. npm, hasta la primera publicación exitosa de un paquete, ignoraba ese número por completo y comparaba por el nombre.

Los nombres se mueven. Quedan libres cuando un mantenedor renombra, transfiere o elimina un repositorio, y una vez que un nombre está libre, cualquiera puede reclamarlo.

Cómo funciona SlugFest en la práctica

  1. Un mantenedor configura la publicación de confianza para un paquete, pero aún no ha publicado una versión desde ese repositorio, así que el vínculo sigue basado en el nombre.
  2. El mantenedor renombra, transfiere o elimina el repositorio. El antiguo slug owner/repository queda disponible.
  3. Un atacante crea un repositorio nuevo exactamente en ese slug liberado y ejecuta un flujo de publicación. GitHub emite un token OIDC que lleva el nombre reclamado con un ID de repositorio totalmente nuevo.
  4. npm revisa el nombre, comprueba que coincide con la configuración guardada y entrega un token de publicación para un paquete que el atacante no posee.

A partir de ahí, el atacante publica una versión maliciosa bajo el nombre legítimo del paquete. Los recuentos de descargas, la reputación y todos los proyectos dependientes van de la mano. El escaneo de Bloom en todo el registro encontró más de 1.500 paquetes vulnerables con más de 10 millones de descargas acumuladas y más de un millón de descargas al mes.

Bloom lo reportó a GitHub el 6 de junio de 2026. Se clasificó el 9 de junio. Después el rastro se enfrió durante julio, y la corrección solo llegó cuando los investigadores se preparaban para publicar, más de 120 días después. GitHub y npm ya confirmaron la remediación y se disculparon por la comunicación tardía.

La corrección tiene exactamente la forma correcta: las configuraciones de publicador de confianza recién creadas ahora caducan a las 48 horas salvo que completen una primera publicación exitosa, que valida el vínculo con la identidad inmutable del repositorio. Cambiar la identidad de un repositorio o proyecto requiere una relación de confianza nueva y una ventana nueva de 48 horas. npm también dejó de aceptar tokens de publicación de confianza procedentes de eventos issue_comment, además de la restricción ya existente sobre pull_request_target.

Y entonces llegaron los agentes

Si SlugFest solo afectara a desarrolladores humanos ejecutando npm install, ya sería grave. Es la segunda mitad de la investigación de Bloom la que debería cambiar cómo piensas sobre tu pipeline de compilación.

Bloom estudió millones de agentes de IA en decenas de organizaciones. El endpoint medio recibe alrededor de 70 paquetes instalados por agentes de IA cada mes. Las máquinas de desarrollo llegan cerca de 350. Cada agente instala entre 0,3 y 1,2 paquetes al día; en máquinas de desarrollo, las instalaciones directas son de dos a tres al día, además de todo lo que arrastran esos paquetes. Un endpoint típico ejecuta tres agentes entre interfaces de línea de comandos, IDE, extensiones y asistentes. Las máquinas de desarrollo ejecutan cinco o más.

Ahora alinea eso con el comportamiento de un agente. Resuelve dependencias por su cuenta, prefiere la última versión y casi nunca pregunta de dónde viene un paquete. Una versión maliciosa publicada mediante un slug reclamado se instala y su hook postinstall se ejecuta sin ningún humano en el circuito.

Bloom lo detectó en producción, bloqueando el agente de IA de un cliente cuando intentaba instalar uno de los paquetes afectados.

El beneficio para el atacante es una cascada. Compromete un paquete. Un agente de IA en la máquina de un mantenedor popular lo descarga. Ese endpoint se convierte en la plataforma de lanzamiento de una versión maliciosa del propio paquete del mantenedor, y todos sus consumidores quedan expuestos. Es el patrón Shai-Hulud con acelerante.

La procedencia no es una casilla

Hay un segundo punto ciego que merece atención, porque es el tipo de cosa que sobrevive a una auditoría de cumplimiento.

Una versión maliciosa puede llevar una atestación de procedencia generada por el propio repositorio del atacante. Algunos sistemas de verificación solo comprueban que exista una atestación, no que su origen coincida con el mantenedor del que debía venir el paquete. La firma es real. El firmante está equivocado. Aquí es donde el control de la cadena de suministro tiene que pasar de "¿estaba firmado?" a "¿estaba firmado por la identidad en la que confío, y sigue siendo esa identidad el mismo objeto en el que confié el mes pasado?".

Vale la pena señalar que el Warehouse de PyPI ya almacena identificadores inmutables, que es lo que Bloom recomendó para npm. La ruta de publicación de confianza de npm con GitLab tenía la misma debilidad.

Qué significa esto para los clientes de aratech

La mayoría de las organizaciones no puede arreglar un registro y no va a dejar de usar npm. Lo que sí puede hacer es dejar de tratar la llegada de paquetes como un evento invisible.

  1. Audita hoy los vínculos de publicador de confianza. Los mantenedores con permisos de publicación deberían ejecutar npm trust list y confirmar que cada slug configurado sigue resolviendo a un repositorio bajo su control. Cualquier vínculo que apunte a un repositorio renombrado, transferido o eliminado debe borrarse y recrearse.
  2. Trata la higiene de repositorios como trabajo de seguridad. Borrar un vínculo de confianza cada vez que un repositorio se renombra, se transfiere o se elimina debería ser un paso escrito en el runbook, no una buena intención.
  3. Pon una puerta delante de la ruta de instalación. Un firewall de cadena de suministro que decide qué entra en el entorno es el control que realmente escala, porque no depende de que una persona revise un diff de lockfile a las seis de la tarde.
  4. Extiende el inventario más allá de los paquetes. Audita extensiones, plugins, servidores MCP, skills y aplicaciones. Bloom encontró el mismo patrón en agosto en Open VSX y el Marketplace de VS Code: 87 paquetes de extensiones en uno y 677 en el otro referenciaban extensiones que no existían, libres para que cualquiera las reclamara.
  5. Escribe la política de agentes. Qué agentes pueden instalar software, desde qué registros, con qué aprobación y cómo lo sabrías después.

El patrón que conviene recordar

Dos años de historias de seguridad relacionadas con la IA siguen girando alrededor de la misma lección, y SlugFest la formula con claridad: el vínculo entre un nombre legible y la cosa que identifica es la invariante más importante de cualquier sistema de confianza. Rómpelo con un renombrado rutinario y la garantía se derrumba, en silencio, sin alertas y sin un solo inicio de sesión fallido.

Tus agentes ya son infraestructura. Instalan código a velocidad de máquina, en entornos de los que tú respondes. El nombre en la puerta dejó de ser prueba de quién está dentro. Verifica la identidad, no la ortografía, y hazlo de forma automática.

Tabla de contenido

  • ↗Qué debía resolver la publicación de confianza de npm
  • ↗Cómo funciona SlugFest en la práctica
  • ↗Y entonces llegaron los agentes
  • ↗La procedencia no es una casilla
  • ↗Qué significa esto para los clientes de aratech
  • ↗El patrón que conviene recordar

Artículos relacionados

Ilustración cyberpunk oscura de código neón fluyendo en forma de escudo agrietado

Corre y se publica: el Last Secure Code Benchmark y el problema del 25%

Un nuevo benchmark publicado el 14 de octubre probó seis agentes de código de frontera con 450 tareas basadas en 150 vulnerabilidades reales. El mejor generó código funcional y seguro solo en el 25,1% de los casos, mientras todos superaron el 73% en funcionalidad. La distancia entre el código que funciona y el código que es seguro ya es un problema medible de pipeline.

Necolas HamwiNecolas Hamwi
15 de octubre de 2026 - 7 min de lectura
Ilustración ciberpunk oscura de una terminal luminosa y una lupa que revela código descompilado a partir de una corriente de dígitos binarios

REA: el repo de 260.000 estrellas que hizo legible toda aplicación

REA, o Reverse Engineer Anything, superó las 262.000 estrellas en GitHub al entregar a los agentes de programación con IA un kit completo de ingeniería inversa. Inspecciona binarios, apps de Electron, APK y sitios web, y luego explica cómo funcionan. El matiz: reconstruye comportamiento, no código fuente, y eso cambia lo que de verdad es un foso competitivo.

Necolas HamwiNecolas Hamwi
15 de octubre de 2026 - 6 min de lectura
Ilustración ciberpunk oscura de un núcleo de agente de IA brillante con trazas de circuitos y degradados neón morado y cian sobre fondo ultraoscuro

El Muse Wonder de Meta pone a los agentes de IA al volante

El Superintelligence Lab de Meta presentó el 12 de octubre de 2026 Muse Wonder y Muse Wonder Full, sus primeros modelos que compiten con lo mejor de OpenAI y Anthropic. Diseñados en torno a la memoria a largo plazo y la persistencia, impulsan agentes que te recuerdan y actúan por ti. El lanzamiento desplaza la pregunta real de qué modelo es más inteligente a qué se puede confiar a un agente.

Necolas HamwiNecolas Hamwi
14 de octubre de 2026 - 7 min de lectura