Otra prueba del enorme melón que supone el uso masivo de librerías y frameworks, sobre todo por desarrolladores que no tienen un conocimiento técnico profundo, es que esto se convierte en un juego de confianza ciega. Y, spoiler: confiar ciegamente en el mundo del software es como jugar a la ruleta rusa con una Glock alimentada.
Tomemos el caso de event-stream, ese paquete de npm que se usaba en proyectos a mansalva y que, un buen día, alguien con demasiado tiempo libre decidió “heredar” para infectarlo con malware. Claro, ¿quién iba a pensar que una librería que maneja flujos de datos acabaría robando criptomonedas? Pues eso pasó, y fue posible porque nadie revisa las tripas de esas dependencias que descargamos alegremente con un npm install. Al final, el paquete no solo era inútil en muchos proyectos, sino que era un caballo de Troya en todo su esplendor.
Pero si creías que esto se quedaba en npm, amigo, PyPI tampoco se salva. Con el famoso typosquatting, muchos desarrolladores han instalado paquetes maliciosos con nombres similares a los legítimos simplemente porque escribieron mal el nombre. A lo mejor querías django-restframework y acabaste con una joyita que mandaba tus credenciales a un servidor remoto. El plot twist aquí es que este tipo de ataques no necesitan exploits súper avanzados: solo aprovechan que nadie se molesta en revisar qué demonios está instalando.
Y no olvidemos la joya de la corona: el incidente de left-pad. Una librería ridículamente sencilla, 11 líneas de código para alinear números, fue eliminada por su creador y, de repente, Babel y medio ecosistema JavaScript dejaron de funcionar. No era malware, pero sí un recordatorio de que estamos construyendo aplicaciones complejas sobre cimientos de papel maché.
Por si fuera poco, algunos desarrolladores malintencionados (o simplemente cabreados) deciden sabotear sus propios proyectos, como el creador de colors.js y faker.js. ¿Su genial idea? Introducir código que directamente rompía las aplicaciones que lo usaban, solo para protestar porque no le pagaban lo suficiente. Esto no solo dejó fuera de combate a miles de proyectos, sino que demostró que dependemos de gente que podría, en cualquier momento, decidir encender la mecha por diversión.
Vamos, que la combinación de desarrolladores con escaso conocimiento de cómo funcionan las tripas de lo que implementan a bajo nivel, o simplemente descuidados; gente muy lista con ideas malvadas, el uso masivo de IA para programar… va a convertir el desarrollo moderno en un parque temático de vulnerabilidades esperando a ser explotadas.
Estás son las cosas que le gustan a
@devruso @constrainterror @TaiksonTexas @TheDevilOps