Ciberseguridad

Claude instala paquetes de npm solo y uno malicioso puede robar tus archivos

Susan Hill

La función Computer Use de Claude hace algo que un chatbot corriente no puede. Abre una terminal en tu ordenador e instala software por ti, incluidos paquetes que descarga directamente de npm, el mayor registro de código abierto del mundo. El atractivo es evidente, porque reduce «móntame este proyecto» a una sola frase. La exposición está en esa misma frase, porque en cuanto un paquete llega, npm puede ejecutar el código de arranque que ese paquete trae consigo, y ahora quien aprieta el gatillo es un agente autónomo.

Para cualquiera que deje a un agente de IA escribir o ejecutar código, y son cada vez más programadores, aficionados y curiosos sin formación técnica, la pregunta práctica es directa. Si Claude instala un paquete que tú nunca revisaste, y ese paquete fue diseñado para copiar tus archivos en el instante en que cae, ¿quién tenía que detenerlo? Un vídeo reciente de un investigador de seguridad recorre justo esa situación y muestra un paquete trampa leyendo archivos locales durante una instalación rutinaria que la IA realiza sin dudar.

El mecanismo no es nuevo, y eso es precisamente lo que lo hace grave. Los paquetes de npm pueden declarar scripts de instalación, pequeñas instrucciones que se ejecutan de forma automática en cuanto el paquete se añade a un proyecto, antes de que se use una sola línea suya a propósito. Es un comportamiento documentado, no un fallo. Permite que herramientas legítimas se compilen o preparen su entorno. También significa que cualquier paquete puede ejecutar código en tu máquina al instalarse, con los mismos permisos que tú, y los equipos de seguridad llevan años advirtiéndolo.

El mundo recibió un recordatorio claro de lo que está en juego cuando unos atacantes se hicieron con la cuenta de mantenedor de Axios, una librería de red que se descarga decenas de millones de veces por semana, y colaron en ella una dependencia maliciosa que instalaba un troyano de acceso remoto en los equipos de los desarrolladores. No tocaron el código real de Axios. El script de instalación hizo el trabajo. Axios resulta ser una pieza dentro del propio Claude Code, junto a incontables aplicaciones más, lo que enseña la poca distancia que hay entre la herramienta en la que confías y el código que arrastra detrás sin que lo veas.

Lo que la demostración añade a esa estampa conocida es el agente. Una persona que lanza una instalación al menos puede pararse, leer el nombre del paquete, notar que está mal escrito o que se publicó hace un rato, y echarse atrás. Un agente de IA que actúa sobre una orden imprecisa no tiene ese reflejo. Instala lo que decide que necesita. Y como Computer Use también lee la pantalla, mueve el cursor y escribe, una sola dependencia envenenada no se queda encerrada en el editor de código. Se mueve por todo el escritorio.

Conviene ser preciso sobre lo que esto es y lo que no es. No es una puerta trasera oculta y exclusiva de Claude, ni la prueba de que se engañó al modelo para saltarse sus propias normas. Es el resultado previsible de dar a cualquier programa autónomo la capacidad de instalar software, sumado a un registro que ejecuta código de instalación por defecto desde hace más de una década. Cambia Claude por cualquier otro agente de programación con los mismos permisos y la foto es idéntica. El peligro vive en la autonomía y en el registro, no en el chatbot de una empresa.

Anthropic, de hecho, lleva tiempo empujando en sentido contrario. Hace poco lanzó un sandbox para sus herramientas de programación que aísla al agente del resto del sistema, limita qué archivos puede leer y a qué servidores puede llegar, y publicó como código abierto el kit de aislamiento que lo sustenta para que otros lo usen. El razonamiento es el que la demostración deja a la vista. Un agente que no alcanza tus claves SSH no puede filtrarlas, y un agente que no puede contactar con un servidor desconocido no puede enviar tus archivos a ninguna parte. La empresa afirma que esas barreras reducen en torno a un 84 por ciento las solicitudes de permiso que muestra al usuario, lo que importa porque una herramienta que pregunta por todo acaba enseñando a la gente a pulsar que sí.

Para quien usa estas herramientas a diario, las defensas son aburridas y eficaces. Ejecuta el agente dentro de un sandbox, un contenedor o una máquina virtual desechable, de modo que lo máximo que pueda alcanzar un paquete malo sea un entorno prescindible. Desactiva los scripts de instalación automáticos cuando el flujo de trabajo lo permita, algo que algunos gestores de paquetes recientes ya hacen por defecto. Mantén credenciales, claves y archivos personales fuera de la máquina donde el agente campa a sus anchas. Y trata «instálame esto» con la cautela que darías a «abre este adjunto del correo», porque por debajo se parece más a eso de lo que aparenta.

El paquete concreto de la demostración es la prueba de un investigador, no un brote real, y no hay indicios de que llegara a usuarios de verdad. El patrón que hay detrás es lo que no se va a quedar quieto. La programación con agentes se está volviendo la norma más rápido que las costumbres pensadas para que sea segura, y los registros en los que se apoyan estos agentes nunca se diseñaron para un mundo donde quien teclea la orden de instalar no es una persona. Hasta que esa brecha se cierre, la regla más vieja de la seguridad informática apunta ahora a un usuario nuevo: lo que tu agente instala, lo ejecuta, así que decide qué puede tocar antes de dejarlo empezar.

Debate

Hay 0 comentarios.