GitHub decidió restaurar la cuenta del desarrollador de Faker.js
A principios de mes compartimos aquí en el blog la noticia de un desarrollador que saboteo su propio proyecto de código abierto, «Marak Squires», el autor de dos populares bibliotecas de código abierto, colors.js y faker.js, corrompió intencionalmente ambas bibliotecas.
El desarrollador de estas dos bibliotecas introdujo una revisión de archivo en GitHub en colours.js que agrega un nuevo módulo de bandera estadounidense, además de implementar la versión 6.6.6 de faker.js, lo que desencadena la misma destrucción de eventos.
Las versiones saboteadas hacen que las aplicaciones produzcan incesantemente letras y símbolos extraños, comenzando con tres líneas de texto que dicen «LIBERTY LIBERTY LIBERTY».
Hay que decir que tras la corrupción de las bibliotecas, Microsoft suspendió rápidamente su acceso a GitHub y canceló los proyectos en npm.
Un portavoz de GitHub ofreció esta declaración a las acciones tomadas por el marco:
“GitHub está comprometido con la salud y la seguridad del registro npm. Eliminamos los paquetes maliciosos y suspendimos la cuenta de usuario de acuerdo con la Política de uso aceptable de npm con respecto al malware como se establece en nuestros Términos de código abierto”.
La compañía también lanzó el siguiente aviso de seguridad:
“colors es una biblioteca para incluir texto en color en las consolas node.js. Entre el 7 y el 9 de enero de 2022, se lanzaron las versiones en color 1.4.1, 1.4.2 y 1.4.44-liberty-2 que incluían código malicioso que provocó una denegación de servicio debido a un bucle infinito. El software que dependía de estas versiones experimentaba la impresión de caracteres aleatorios en la consola y un bucle infinito que generaba un consumo de recursos del sistema no relacionado. Los usuarios de color que confían en estas compilaciones específicas deben cambiar a 1.4.0”.
Si bien esto puede ser obvio para algunos (el desarrollador introdujo una confirmación con código malicioso y GitHub y npm hicieron lo correcto para proteger a sus usuarios), ha estallado un debate en torno a los derechos de un desarrollador para hacer esto, en relación a cuántos proyectos y dependencias puede tener.
“El riesgo que representa una dependencia es alto con dependencias pequeñas de uso más común, por un solo desarrollador no verificado, instalado a través de un administrador de paquetes como npm, cargo, pypi o similar. Sin embargo, cuando algo sale mal de este lado, todos lo notan de inmediato y la gente pide fondos rápidamente. Sin embargo, no son estas dependencias las que realmente sustentan nuestra economía. Muchas de estas adicciones se han vuelto fundamentales, no porque resuelvan un problema difícil, sino porque colectivamente hemos comenzado a abrazar la pereza por encima de todo. Cuando enfocamos nuestras discusiones de financiamiento en torno a este tipo de dependencias, implícitamente nos distraemos de los paquetes realmente importantes”.
Cualquier suspensión parece irrazonable si se considera que el código en los repositorios pertenece a su creador/mantenedor. Sí, es de código abierto en el sentido de que puede bifurcarlo y contribuir a él, pero ¿eso significa que GitHub puede justificar negarle el derecho a modificar o incluso destruir su propio código? ¿Existe un “debido proceso” en este tipo de decisión?
Otros temas planteados por estos eventos son cómo recompensar adecuadamente a las personas por el trabajo que han realizado en el software de código abierto que sustenta otro software más grande que permite a las megacorporaciones obtener enormes ganancias.
En este caso, estas bibliotecas de JavaScript son utilizadas por Cloud SDK de Amazon, que forma parte de AWS.
Aunque colors.js y faker.js disfrutan de un patrocinio que tiene como objetivo garantizar que las comunidades de código abierto reciban un pago por el trabajo que realizan, existe una gran desconexión entre los desarrolladores que diseñaron e implementaron paquetes populares como colors.js y faker. js reciben y su valor para las empresas que reutilizan su trabajo de forma gratuita.
De todos modos, la cuenta de Marak Squires se activó nuevamente y escribió esto:
«Eliminé el error infinito de zalgo con colours.js v2.2.2 y estoy esperando noticias del soporte de Github para recuperar mis derechos de publicación de NPM.
“A los miembros virtuosos de la 69.a división médica de redes sociales:
“Gracias por sus pensamientos y oraciones.
“Puedo asegurarles que estoy sano de cuerpo y mente. Adjunto un certificado de la Institución Mental Reid, que prueba sin lugar a dudas que yo, Marak Squires, no tengo cerebro de burro.
«¿Pueden los miembros de la 69 División de Médicos de Redes Sociales proporcionar un documento que demuestre que no tienen cerebro de burro?» »