Marak Squires, autor de los populares paquetes colors (colores de consola para node.js) y faker (generador de datos ficticios para campos de entrada), que cuentan con 2.8 y 25 millones de descargas semanales, ha publicado en el repositorio de NPM y en GitHub nuevas versiones de sus productos, que incluyen cambios destructivos, intencionadamente diseñados para provocar fallos en la fase de compilación y ejecución de proyectos dependientes. Como resultado de las acciones de Marak, muchos proyectos se han visto afectados, incluyendo AWS CDK, que utilizan estas bibliotecas: la biblioteca colors es utilizada como dependencia en 18953 proyectos, mientras que faker lo es en 2571.
Se ha añadido al código de la biblioteca ‘colors’ la salida en consola del texto ‘LIBERTY LIBERTY LIBERTY’ y un bucle infinito, bloqueando el funcionamiento de los proyectos dependientes y generando un flujo de palabras distorsionadas como ‘tesing’. En la biblioteca faker se ha eliminado el contenido del repositorio, en el commit ‘endgame’ se han añadido archivos .gitignore y .npmignore para excluir archivos del proyecto, y en lugar del contenido del archivo README se ha colocado la pregunta ‘¿Qué ha pasado realmente con Aaron Schwartz?’. Los problemas están presentes en las versiones colors 1.4.1+ y faker 6.6.6.

En respuesta a las acciones cometidas, GitHub ha bloqueado el acceso de Marak a sus repositorios (90 públicos + varios privados), y NPM ha revertido la versión maliciosa del paquete. Sin embargo, la legalidad de las acciones de GitHub plantea preguntas, ya que la eliminación de código por parte de un desarrollador de uno de sus repositorios no puede considerarse una violación de las normas del servicio. Más aún, el texto de la licencia de los paquetes colors y faker indica claramente la ausencia de cualquier garantía y obligación respecto al funcionamiento del código.
Curiosamente, la primera advertencia sobre la suspensión del desarrollo se publicó hace más de un año. En septiembre de 2020, Marak perdió todas sus pertenencias debido a un incendio, y poco después, a principios de noviembre, de forma ultimativa, instó a las empresas comerciales que utilizan sus proyectos a financiar la continuación del desarrollo; de lo contrario, prometió detener el soporte, ya que no tiene intención de seguir trabajando gratuitamente. Antes del incidente, la última versión de colors fue lanzada hace dos años, y la de faker hace 9 meses.
En cuanto a los motivos para realizar cambios destructivos en los paquetes, es probable que Marak esté intentando dar una lección a las corporaciones que se benefician del trabajo de la comunidad de desarrolladores de software de código abierto, pero que no devuelven nada a cambio, o llamar la atención sobre la reconsideración de las circunstancias de la muerte de Aaron Swartz. Aaron se quitó la vida después de que se iniciara un proceso penal en su contra relacionado con la copia de artículos científicos de la base de datos de pago JSTOR, defendiendo la idea de proporcionar acceso libre a las publicaciones científicas. A Aaron se le presentaron cargos de fraude informático y de obtener información ilegalmente de una computadora protegida, la pena máxima de estos cargos era de 50 años de prisión y una multa de un millón de dólares (si se llegaba a un acuerdo judicial y aceptaba los cargos, Aaron habría tenido que cumplir 6 meses de prisión).
Se considera que Aaron, en medio de la depresión, no soportó la presión del sistema judicial y la injusticia de los cargos presentados (se enfrentaba a 50 años de prisión solo por haber descargado el contenido de una base de datos de artículos científicos que, en su opinión, deberían ser distribuidos sin restricciones). Marak Squires, en un comentario publicado en lugar del código eliminado sobre la muerte de Aaron y en una publicación en Twitter, insinúa una teoría de conspiración no confirmada, según la cual Aaron Swartz encontró en el archivo del MIT ciertos documentos que comprometían a figuras importantes, y por eso lo mataron, disfrazando la llegada como un suicidio (mañana se cumplirán 9 años desde que Aaron dejó este mundo).
Fuente: opennet.ru
