Open source-udvikler ødelægger meget brugte biblioteker, hvilket påvirker tonsvis af projekter

0
151

En udvikler ser ud til med vilje at have korrumperet et par open source-biblioteker på GitHub og softwareregistrering npm – “faker.js” og “colors.js” – som tusindvis af brugere er afhængige af, hvilket renderer evt. projekt, der indeholder disse biblioteker ubrugelige, som rapporteret af Bleeping Computer. Selvom det ser ud til, at color.js er blevet opdateret til en fungerende version, ser faker.js stadig ud til at være påvirket, men problemet kan løses ved at nedgradere til en tidligere version (5.5.3).

De saboterede versioner få programmer til uendeligt at udsende mærkelige bogstaver og symboler

Bleeping Computer fandt ud af, at udvikleren af ​​disse to biblioteker, Marak Squires, introducerede en malign commit (en filrevision på GitHub) til colors.js, der tilføjer “et nyt amerikansk flag-modul”, samt udrullede version 6.6.6 af faker .js, der udløser den samme destruktive vending. De saboterede versioner får applikationer til at udlæse mærkelige bogstaver og symboler uendeligt, begyndende med tre tekstlinjer, der lyder “LIBERTY LIBERTY LIBERTY.”

Endnu mere besynderligt er faker.js Readme-filen også blevet ændret til “Hvad skete der egentlig med Aaron Swartz?” Swartz var en fremtrædende udvikler, der hjalp med at etablere Creative Commons, RSS og Reddit. I 2011 blev Swartz sigtet for at stjæle dokumenter fra den akademiske database JSTOR med det formål at gøre dem frie at få adgang til, og begik senere selvmord i 2013. Squires' omtale af Swartz kunne potentielt referere til konspirationsteorier omkring hans død.

Som påpeget af Bleeping Computer, henvendte en række brugere – inklusive nogle, der arbejder med Amazons Cloud Development Kit – sig til GitHubs fejlsporingssystem for at give udtryk for deres bekymringer om problemet. Og da faker.js ser næsten 2,5 millioner ugentlige downloads på npm, og color.js får omkring 22,4 millioner downloads om ugen, er virkningerne af korruptionen sandsynligvis vidtrækkende. Til kontekst genererer faker.js falske data til demoer, color.js tilføjer farver til javascript-konsoller.

Som svar på problemet postede Squires en opdatering på GitHub for at løse “zalgo-problemet”, som refererer til den glitchy tekst, som de korrupte filer producerer. “Det er kommet til vores opmærksomhed, at der er en zalgo-fejl i v1.4.44-liberty-2-udgivelsen af ​​farver,” skriver Squires på en formentlig sarkastisk måde. “Vær venligst opmærksom på, at vi arbejder lige nu på at rette op på situationen og vil have en løsning snart.”

To dage efter at have skubbet den korrupte opdatering til faker.js, sendte Squires senere et tweet ud, hvor han bemærkede, at han er blevet suspenderet fra GitHub, på trods af at han har lagret hundredvis af projekter på siden. At dømme efter ændringsloggen på både faker.js og colors.js ser det dog ud til, at hans suspension allerede er blevet ophævet. Squires introducerede faker.js commit den 4. januar, blev forbudt den 6. januar og introducerede ikke “liberty”-versionen af ​​colors.js før den 7. januar. Det er uklart, om Squires' konto er blevet forbudt igen. The Verge kontaktede GitHub med en anmodning om kommentar, men hørte ikke straks tilbage.

Historien slutter dog ikke der. Bleeping Computer gravede et af Squires' indlæg op på GitHub fra november 2020, hvori han erklærer, at han ikke længere ønsker at lave gratis arbejde. “Respektfuldt vil jeg ikke længere støtte Fortune 500'erne (og andre mindre virksomheder) med mit gratis arbejde,” siger han. “Tag dette som en mulighed for at sende mig en sekscifret årlig kontrakt eller forlade projektet og få en anden til at arbejde på det.”

Squires' modige træk henleder opmærksomheden på moralen – og økonomisk — dilemma med open source-udvikling, som sandsynligvis var målet med hans handlinger. Et massivt antal websteder, software og apps er afhængige af open source-udviklere til at skabe vigtige værktøjer og komponenter – helt gratis. Det er det samme problem, der resulterer i, at ubetalte udviklere arbejder utrætteligt for at løse sikkerhedsproblemerne i deres open source-software, som f.eks. Heartbleed-forskrækkelsen i 2014, der påvirkede OpenSSL, og den nyere Log4Shell-sårbarhed fundet i log4j, som fik frivillige til at prøve at løse.