Marak Squires, autore dei popolari pacchetti colors (colorazione della console di node.js) e faker (generatore di dati fittizi per i campi di input), che contano rispettivamente 2,8 e 25 milioni di download settimanali, ha pubblicato nel repository NPM e su GitHub nuove versioni dei suoi prodotti con modifiche distruttive, progettate per causare malfunzionamenti durante la fase di costruzione ed esecuzione dei progetti dipendenti. A seguito delle azioni di Marak, molti progetti sono stati compromessi, compreso AWS CDK, che utilizza le librerie indicate: la libreria colors è una dipendenza per 18.953 progetti, mentre faker lo è per 2.571.
Nel codice della libreria «colors» è stata aggiunta la stampa nella console del testo «LIBERTY LIBERTY LIBERTY» e un ciclo infinito che blocca il lavoro dei progetti dipendenti, generando un flusso di parole distorte «tesing». Nella libreria faker è stato rimosso il contenuto del repository, nel commit «endgame» sono stati aggiunti i file .gitignore e .npmignore per escludere i file del progetto, e al posto del contenuto del file README è stata posta la domanda «Cosa è realmente successo ad Aaron Swartz». I problemi sono presenti nelle versioni colors 1.4.1+ e faker 6.6.6.

In risposta alle azioni compiute, GitHub ha bloccato l'accesso di Marak ai suoi repository (90 pubblici + alcuni privati), e NPM ha ripristinato una versione non dannosa del pacchetto. Tuttavia, la legalità delle azioni di GitHub solleva interrogativi, poiché la rimozione di codice da parte del sviluppatore da uno dei propri repository non può essere considerata una violazione delle regole del servizio. Inoltre, nel testo della licenza per i pacchetti colors e faker è chiaramente indicata l'assenza di qualsiasi garanzia e obbligo riguardo al funzionamento del codice.
È interessante notare che il primo avviso di interruzione dello sviluppo è stato pubblicato oltre un anno fa. A settembre 2020, Marak ha perso tutti i suoi beni a causa di un incendio, dopo di che all'inizio di novembre ha esortato in modo definitivo le aziende commerciali che utilizzano i suoi progetti a finanziare il proseguimento dello sviluppo, altrimenti ha promesso di interrompere il supporto, poiché non intende più lavorare gratuitamente. Fino all'incidente, l'ultima versione di colors era stata rilasciata due anni fa, mentre faker era stata rilasciata nove mesi fa.
Per quanto riguarda i motivi alla base dell'inserimento di modifiche distruttive nei pacchetti, è probabile che Marak stia cercando di dare una lezione alle aziende che si avvalgono dei contributi della comunità degli sviluppatori di software open source senza restituire nulla in cambio, o di attirare l'attenzione su una rivalutazione delle circostanze della morte di Aaron Swartz. Aaron si è tolto la vita dopo che un'azione penale era stata intentata contro di lui per aver copiato articoli scientifici da una banca dati a pagamento, JSTOR, sostenendo l'idea di garantire accesso libero alle pubblicazioni scientifiche. Aaron era stato accusato di frode informatica e di accesso illecito a un computer protetto, con una pena massima di 50 anni di reclusione e una multa di un milione di dollari (in caso di accordo legale e ammissione delle colpe, Aaron avrebbe dovuto scontare sei mesi di prigione).
Si ritiene che Aaron, a causa di una depressione, non abbia retto alla pressione del sistema giudiziario e all'ingiustizia delle accuse mosse contro di lui (rischiava 50 anni di prigione solo per aver scaricato il contenuto di un database di articoli scientifici, che secondo lui dovrebbero essere accessibili senza restrizioni). Marak Squires, nel codice pubblicato invece della domanda sul decesso di Aaron e in un tweet, allude a una teoria del complotto non confermata, secondo la quale Aaron Schwartz avrebbe trovato nell'archivio del MIT dei documenti compromettenti che riguardano alcune persone di rilievo, e per questo è stato ucciso, mascherando la sua morte come un suicidio (domani saranno 9 anni dalla morte di Aaron).
Fonte: opennet.ru
