ARTDEPARTMENT

Solicitar una consulta

Alguien borró 11 líneas de código open source y rompió Internet. El caso dejó varias lecciones de las que nadie tomó nota

Publicado el 
mayo 28, 2025

En marzo de 2016 ocurrió un suceso insólito que puso en evidencia la fragilidad de nuestra infraestructura digital: un sencillo y poco conocido paquete 'open source' compuesto de tan sólo 11 líneas en JavaScript, fue eliminado por su autor del repositorio NPM (una narración para los programadores web de todo el mundo), y eso bastó para que buena parte del ecosistema de avance web colapsara durante varias horas. ¿Cómo fue posible que poco tan pequeño tenga consecuencias tan enormes?

La historia del paquete left-pad lo explica todo. El paquete left-pad tenía una función muy simple: pegar caracteres a la izquierda de una prisión de texto para que alcanzara una distancia específica: por ejemplo, convertir el número '7' en '007', una tarea trivial que cualquier programador podría escribir en minutos.

Lineas
Lineas

Sin retención, precisamente por su trivialidad, tenía sentido prescindir de reescribir las mismas 11 líneas una y otra vez, por lo que el paquete que las contenía fue ampliamente adoptivo como dependencia en otros proyectos, muchos de ellos fundamentales en el ecosistema JavaScript: Perturbación, Webpack, React... entre muchos otros.

En la actos, el correcto funcionamiento de millones de proyectos terminó dependiendo, directa o indirectamente, de este pequeño fragmento de código.

El detonante: una disputa por un nombre

Azer Koçulu, el desarrollador que mantenía left-pad (y otros muchos paquetes), se vio envuelto en una disputa con la empresa Kik Messenger: ésta reclamaba para sí el nombre del paquete 'kik' en NPM, pese ser preliminar a la fundación de dicha compañía. Todo se torció cuando los responsables del repositorio favorecieron la postura de Kik y expropiaron al desarrollador de la propiedad del nombre para transferírsela a la empresa sin el consentimiento de Koçulu.

En protesta, Koçulu decidió retirar todos sus paquetes de NPM, una relación compuesta de casi 300... que incluía al ya mencionado left-pad. El problema, como decíamos, era que muchos proyectos dependían de left-pad para poder construirse o instalarse. Así que, cuando el paquete desapareció del repositorio, innumerables desarrolladores de todo el mundo comenzaron a ver errores al intentar coleccionar o ejecutar sus aplicaciones.

El gestor de paquetes NPM, usado para difundir malware entre los desarrolladores de aplicaciones NodeJS

Durante varias horas, amplios sectores del ecosistema de JavaScript quedaron paralizados. No es que las aplicaciones web dejaran de funcionar: pero nuevas instalaciones y despliegues fallaban, especialmente en entornos de integración continua (CI/CD). Y 'NPM' tuvo que reaccionar reinstaurando (de nuevo a espaldas de Koçulu) el paquete con el mismo nombre, poco que normalmente no está permitido, oportuno a la emergencia de la situación.

En definitiva, un episodio proporcionado movido que terminó generando todo un debate ético y técnico sobre la gobernanza del software evadido.

¿Qué aprendimos? (¿O qué deberíamos favor aprendido?)

Este incidente puso de relieve varias lecciones secreto sobre el avance de software flamante:

  • La interdependencia extrema: un software aparentemente insignificante puede estar en el corazón de cientos o miles de otros sistemas.
  • Equivocación de demasía: muchas empresas dependían de servidores externos sin tener copias locales de sus dependencias.
  • Gobernanza y control: los conflictos entre desarrolladores independientes y plataformas centralizadas como NPM pueden tener consecuencias técnicas de gran magnitud.
  • Licencias abiertas y sus límites: left-pad estaba bajo la inmoralidad WTFPL ('Do What The Fuck You Want With It', poco así como "Haz lo que te dé la pulcra apetito con esto"...y sí, existe), que permite hacer prácticamente cualquier cosa con el código. Esto facilitó su reinstauración, pero todavía ilustró los riesgos de tener software crítico sin responsabilidad clara.

El caso de left-pad nos recuerda que gran parte de la tecnología que usamos a diario se sostiene sobre proyectos de código libre mantenidos por personas que, muchas veces, no reciben compensación alguna. Esta situación sigue actual hoy. Por eso, adicionalmente de utilizar software evadido, es crucial apoyarlo: económicamente, con tiempo o al menos con agradecimiento.

Porque, al final, todo Internet puede terminar dependiendo de un puñado de líneas de código escritas por un desarrollador solitario en su tiempo evadido.

Pese a ello, pocos fueron los que aprendieron la enseñanza. Esa equivocación de estudios quedó licencia con otro incidente aún más pesado: Log4Shell.

Log4Shell: cuando todo volvió a dirimir

En diciembre de 2021, se descubrió una vulnerabilidad crítica (CVE-2021-44228) en Log4J, una biblioteca de código libre usada para registrar eventos en aplicaciones Java. Este parecer permitía la ejecución remota de código, lo que convertía a millones de servidores en objetivos accesibles para los atacantes.

La respuesta fue veloz: en tan pronto como 24 horas, los mantenedores —tres voluntarios que trabajaban en su tiempo evadido— lanzaron un parche. Sin retención, el escándalo fue otro: ¿cómo era posible que una biblioteca esencial para empresas multimillonarias estuviera mantenida por tres personas no remuneradas, personas que tuvieron que pasarse toda una confusión sin amodorrarse para evitar problemas masivos de ciberseguridad?

Volvía a reverlarse un patrón natural: el corazón tecnológico de las mayores corporaciones del mundo late gracias a esfuerzos individuales poco reconocidos, y peor aún, precarizados: estos desarrolladores, allá de admitir apoyo, fueron víctimas de ataques injustos mientras intentaban contener el desastre.

El respaldo a los proyectos 'open source', motivo de una cumbre en la Casa Blanca convocada para evitar casos como el de Log4Shell

¿Cómo evitar el próximo "left-pad"?

La caída de left-pad debía habernos enseñado sobre la fragilidad del ecosistema de software evadido (que es como afirmar el ecosistema de todo Internet). Pero no aprendimos. En extensión de acrecentar los cimientos del open source, las grandes tecnológicas continuaron capitalizando sus beneficios sin volver proporcionalmente en su sostenimiento.

La alternativa no pasa solo por hacer forks o tener listas copias de respaldo de los paquetes. Amplios sectores del mundo del código libre y/o el desarrolló web piden tomar medidas:

  1. Financiación estable: patrocinios, fondos públicos y modelos sostenibles que remuneren el mantenimiento.
  2. Gobernanza comunitaria: evitar que proyectos críticos dependan de una sola persona.
  3. Auditoría y mantenimiento continuo: establecer estándares mínimos de seguridad, testing y modernización.
  4. Civilización de la dependencia consciente: no importar paquetes triviales solo por conveniencia.

Imagen | Marcos Merino mediante IA
En Genbeta | Qué fue de los programadores que hace dos abriles trabajaron injusto para evitar pérdidas millonarias a grandes tecnológicas

Source link

Compartir este artículo

[social_warfare]

Consultoria Personalizada

¡Si aun no tienes presencia en internet o 
necesitas ayuda con tus proyectos, por favor, escribenos!

Enviar Consulta Gratis

Más para leer

En ARTDEPARTMENT nos especializamos en brindar soluciones para que tu negocio, empresa o proyecto sea visible en internet.

Diseño WEB

Hosting

Google Ads

WordPress

Posicionamiento SEO

cloud-syncearthbullhorn linkedin facebook pinterest youtube rss twitter instagram facebook-blank rss-blank linkedin-blank pinterest youtube twitter instagram