3min Devops

GlassWorm-malware duikt op in ontwikkelomgevingen

GlassWorm-malware duikt op in ontwikkelomgevingen

Een grootschalige GlassWorm-malwarecampagne gericht op ontwikkelaarsplatformen blijkt aanzienlijk omvangrijker en geavanceerder dan eerder gedacht.

Verschillende media, waaronder opensourcemalware.com, signaleren dat de zogeheten GlassWorm-operatie zich opnieuw manifesteert en inmiddels honderden softwarecomponenten heeft besmet binnen populaire ecosystemen zoals GitHub, npm en extensiemarktplaatsen voor ontwikkelomgevingen.

Volgens bevindingen van meerdere beveiligingspartijen zijn in korte tijd meer dan vierhonderd repositories, packages en extensies gecompromitteerd. Het gaat daarbij om een brede spreiding over verschillende programmeertalen en platformen, waaronder Python- en JavaScript-projecten op GitHub en extensies voor Visual Studio Code en OpenVSX. Daarmee krijgt de campagne een schaal die verder reikt dan eerdere waarnemingen.

De aanval maakt gebruik van een supply chain-aanpak waarbij kwaadwillende code wordt geïntegreerd in ogenschijnlijk legitieme softwarecomponenten. Ontwikkelaars die deze afhankelijkheden installeren, halen daarmee ongemerkt de malware binnen. De eerste toegang lijkt vaak te ontstaan via gecompromitteerde GitHub-accounts, waarna aanvallers kwaadaardige wijzigingen doorvoeren in bestaande repositories. Vanuit daar verspreidt de code zich verder via package managers en extensieplatformen.

Blockchain bemoeilijkt detectie

Op technisch vlak valt met name de command-and-controlstructuur op. De malware maakt gebruik van de Solana-blockchain om instructies op te halen. Met regelmatige tussenpozen wordt gecontroleerd of er nieuwe opdrachten beschikbaar zijn, die vervolgens verborgen blijken te zitten in transactiememo’s. Deze methode maakt het lastiger om de infrastructuur achter de aanval te blokkeren, omdat traditionele netwerkcontroles minder effectief zijn.

De payload zelf is gericht op het verzamelen van gevoelige informatie uit ontwikkelomgevingen. Daarbij gaat het onder meer om gegevens van cryptowallets, toegangsgegevens, tokens en SSH-sleutels. In sommige gevallen wordt aanvullende software geïnstalleerd, waaronder een Node.js-omgeving die wordt gebruikt om verdere kwaadaardige scripts uit te voeren. Volgens berichtgeving van BleepingComputer wordt deze infrastructuur actief aangepast via blockchaintransacties, wat wijst op een dynamische en doorlopende operatie.

Opvallend is dat de aanval niet beperkt blijft tot één platform. Dezelfde technieken en infrastructuur worden gelijktijdig ingezet op meerdere ecosystemen. Dit wijst op een centrale actor die verschillende distributiekanalen gebruikt om het bereik te maximaliseren. Analyse van de code suggereert dat de betrokkenen mogelijk Russischtalig zijn, al blijft harde attributie vooralsnog uit. De malware zou bovendien systemen met een Russische taalinstelling vermijden, wat vaker voorkomt bij bepaalde dreigingsgroepen.

Kwaadaardige code blijft verborgen

Naast de technische complexiteit speelt ook de gebruikte obfuscatie een belangrijke rol. Kwaadaardige code wordt onder meer verborgen met behulp van onzichtbare Unicode-tekens, waardoor detectie door zowel ontwikkelaars als beveiligingstools wordt bemoeilijkt. Deze techniek werd al eerder in verband gebracht met GlassWorm, maar lijkt in de nieuwste campagne op grotere schaal te worden toegepast.

Voor ontwikkelaars en organisaties ligt de uitdaging vooral in het herkennen van besmette componenten. Onderzoekers wijzen op specifieke indicatoren die kunnen duiden op een infectie, zoals ongebruikelijke bestanden in de gebruikersomgeving of afwijkingen in Git-geschiedenis. Ook wordt geadviseerd om kritisch te kijken naar externe afhankelijkheden, zeker wanneer deze direct vanuit bronrepositories worden gebruikt.

De GlassWorm-campagne onderstreept opnieuw dat de softwareketen een aantrekkelijk doelwit vormt voor aanvallers. Waar traditionele beveiliging zich vaak richt op endpoints en netwerken, verschuift de aandacht steeds meer naar de bouwstenen van software zelf. Daarmee groeit de noodzaak voor strengere controle op externe code en een kritischer houding ten opzichte van afhankelijkheden binnen ontwikkelprojecten.