NPM: No puedo más
Junio llega cargado de noticias para el mundo de sistemas. Como si no tuvieramos suficiente con la psicósis de la IA alterando nuestra paz mental también tenemos cada vez más ataques por cadena de suministro en npm.
Para los outsiders a Javascript, npm es el ecosistema donde los desarrolladores publican y descargan paquetes de código reutilizable. En lugar de escribir todo desde cero, se puede incorporar trabajo de otros a un proyecto con un solo comando. Al dia de hoy tiene más de dos millones de paquetes disponibles y es la base sobre la que se construye prácticamente todo el ecosistema javascript…. y en consecuencia la web.
El último ataque se llama IronWorm. La historia es la misma de siempre, una cuenta comprometida en npm republica paquetes que parecen legítimos. Dentro de ellos, escondido en un directorio inocente, espera un binario hecho en Rust que se ejecuta al momento en que cualquier desarrollador ejecute npm install.
¿Qué buscaba el binario crustaceo? credenciales de AWS, GCP, GitHub, tokens de npm, wallets de cripto, y también claves de API de OpenAI y Anthropic. Accesos para seguir propagándose y quien sabe que otras barbaridades más.
Algunos datos curiosos de este ataque:
Las fechas de los commits iban 13 años para atrás, claramente editadas
El autor aparece como Claude
El atacante dejó en el código la frase de recuperación de su propia billetera. Aparentemente este fue un mecanismo para no autoinfestarse. Se olvidó de agregarlo al .gitignore.
No se a ustedes, pero a mi me pasa que cada vez que leo estas noticias pienso “uh que mal” y sigo mi camino porque a mi que me van a venir a robar. La verdad esa postura es terrible. Virtualmente cualquier persona que haga npm install está en riesgo de infectar su proyecto.
El vector de ataque es npm install. El momento más aburrido y rutinario del día.
El registro de npm es generalmente bastante seguro. Esa es la palabra clave, “generalmente”. La cadena de suministro de software moderno se sostiene sobre una confianza enorme y mayormente invisible. Confiamos en que quienes mantienen un proyecto son quienes dicen ser. Confiamos en que nadie comprometió la cuenta que publicó ese paquete que usa el paquete que usa nuestro proyecto.
De todas las cosas que me molestan sobre la situación actual del ecosistema creo que esa es la peor. El open souce y la colaboración son gran parte de nuestro día a día y me parece terrible ser como sus principios se usan para robar.
Les dejo una pequeña lectura recomendada sobre cómo protegerse ante posibles futuros ataques.
En otro orden de las cosas no quiero dejar de hacer mención a Ni Una Menos y la marcha del 3 de Junio. Quise como todos los años hacer un pequeño aporte digital. Este año opté por una intervención artística en Javascript. Que nadie nunca les diga que la programación no puede ser un arte.
Finalmente y para ir cerrando la semana. Estoy escribiendo un libro. Si. Un libro.
Ante mucho debate interno sobre la mejor manera de seguir adelante decidí que soy una chica tradicional y que voy a expresarme en medios tradicionales porque para hacer reels no sirvo. ¿Sobre que trata el libro? Sobre migrar a roles de producto. Es un tema que me interpela y que aparece constantemente en las consultorías así que me parece un buen primer paso en este camino.
Todavía no tengo muy cerrados los detalles de distribución y eso, pero desde ya les cuento que si están suscriptos a Sin Códigos lo van a recibir en versión digital de regalo.
Así que quizás sea buen momento para suscribirse.
¡Nos vemos la próxima!
Espero que hayas disfrutado el artículo de hoy. Te cuento que este newsletter se sostiene de la gente que lo lee. Si querés recibir los próximos textos y bancar este trabajo, podés suscribirte gratis o pasar a una suscripción paga.
O también podés:
💌 Compartilo
Ahora sí ¡Nos vemos la próxima!



Muy bueno. Muchas gracias.