CrowdSec zegt dat TanStack npm-aanval heeft geleid tot een kopie van 170 privé GitHub-opslagplaatsen

Een aanvaller kopieerde op 22 mei ongeveer 170 van CrowdSec’s privé GitHub-repository’s met behulp van het account van een medewerker die net was vertrokken, zei CrowdSec op 18 september.

Het Franse beveiligingsbedrijf had zijn GitHub-toegang opengehouden. CrowdSec zegt dat zijn laptop is gecompromitteerd tijdens de supply chain-aanval op TanStack in mei, waarbij kwaadaardige versies van TanStacks npm-pakketten inloggegevens van de machines van ontwikkelaars stalen.

De code verscheen op 16 september op een online forum. Samen met de broncode bevatte deze de e-mailadressen van 83 CrowdSec-gebruikers en de namen, e-mailadressen en investeringscontext van 51 potentiële investeerders uit 2020, aldus het bedrijf.

CrowdSec zegt dat het account alleen werd gebruikt om code te kopiëren, dat er geen toegang was tot de infrastructuur en databases en dat er geen code werd gewijzigd.

Hoe de code werd gebruikt

Op 11 mei werden 84 kwaadaardige versies van 42 TanStack npm-pakketten gepubliceerd. Het compromis wordt bijgehouden als CVE-2026-45321. Bij het installeren van een van die versies werd code uitgevoerd die inloggegevens van de machine stal, waaronder GitHub-tokens, SSH-sleutels en cloud-inloggegevens, volgens het advies van TanStack.

Het bedrijf zegt dat de kopie elf dagen later is gemaakt met een GitHub OAuth-token uit het account van de voormalige werknemer. Het bedrijf had zijn toegang behouden zodat hij wat werk kon afmaken.

CrowdSec verwijderde zijn account uit zijn GitHub-organisatie op 25 mei, drie dagen na de kopie en maanden voordat het van het lek hoorde. Zijn andere toegang was al verwijderd, wat volgens het bedrijf verklaart waarom het geen verdachte activiteit in zijn AWS-systemen heeft gezien.

Het token liet geen spoor achter in de GitHub-logboeken die het kon controleren en bestond niet meer toen het van het lek hoorde. Er staat dat GitHub-ondersteuning vervolgens de geschiedenis van het token heeft getraceerd en het vermoeden heeft bevestigd dat TanStack de bron was.

CrowdSec heeft niet gezegd welk kwaadaardig pakket de laptop van de voormalige werknemer heeft bereikt en wanneer, en het rapport bevat geen eigen bevindingen van GitHub. Er staat dat de machines van de ontwikkelaars zijn gecontroleerd en schoon zijn teruggekomen.

Dezelfde aanval bereikte ook andere bedrijven. Mistral AI zei dat er een ontwikkelaarsapparaat bij de zaak betrokken was, en OpenAI zei dat twee werknemersapparaten getroffen waren, met ongeautoriseerde toegang tot een beperkt aantal interne codeopslagplaatsen.

Wat het archief bevatte

De open-source Security Engine van CrowdSec detecteert aanvallen op servers en gebruikers die hun detecties delen, ontvangen een gedeelde blokkeerlijst met kwaadaardige IP-adressen. De gelekte code komt uit de privéopslagplaatsen van het bedrijf, niet uit deze openbare engine.

Volgens het bedrijf omvat de code de webconsole, data science-scripts en -modellen, automatiseringsscripts en het consensusalgoritme dat bepaalt welke IP-adressen aan de blokkeerlijsten worden toegevoegd.

Er staat dat de code bijna vier maanden oud is en sindsdien veel is veranderd.

CrowdSec zegt dat het lek ook de drempelwaarden heeft onthuld die het consensusalgoritme gebruikt, zoals hoeveel detecties het nodig heeft voordat een IP-adres aan de blokkeerlijst wordt toegevoegd. Deze waren nog niet eerder openbaar geweest.

Voor zover zij weet kan de blokkeerlijst nog steeds niet worden vergiftigd, dat wil zeggen dat er wordt misleid om een ​​onschadelijk IP-adres te blokkeren. Er wordt gezegd dat een aanvaller tientallen detecties nodig heeft van tientallen vertrouwde zoekmachines op tientallen afzonderlijke netwerken, tegen hoge kosten. CrowdSec zegt ook dat het de drempels kan wijzigen, zoals vaak gebeurt.

Volgens het bedrijf was de enige bruikbare inloggegevens in het lek die van de SNS-meldingsdienst van AWS, en kon deze slechts berichten over één onderwerp publiceren. Iemand probeerde het te gebruiken op 17 augustus, een maand voordat de code werd gepost, maar kwam niet verder. Andere tokens in de code waren al gerouleerd of konden voor zover het bedrijf weet niet via internet worden gebruikt.

CrowdSec zegt ongeveer 150.000 gebruikers te hebben. Het data science-team bewaarde de 83 blootgestelde e-mailadressen om te bestuderen hoe mensen het product gebruikten, en het bedrijf zegt dat het contact zal opnemen met die gebruikers.

De gegevens van de investeerders kwamen uit een 2020-systeem waarvan CrowdSec zegt dat het nooit de bedoeling was dat het openbaar zou worden gemaakt. Het bedrijf zegt het lek te zullen melden aan de investeerders en aan de autoriteiten. CEO Philippe Humeau schreef in het rapport aan de investeerders: “Hiervoor bied ik persoonlijk mijn excuses aan.”

Het getroffen bedrijf heeft de openbaar gemaakte inloggegevens op 16 en 17 september gerouleerd. Het had destijds geen eindpuntbeveiligingssoftware nodig op de machines van ontwikkelaars, maar draait dergelijke software nu op de laptops van het personeel dat met de code of systemen werkt.

Noch in het rapport van CrowdSec, noch in de eerste verklaring wordt gebruikers gevraagd actie te ondernemen.

Hoe het account van CrowdSec veranderde

Het rapport van CrowdSec van 18 september wijkt af van de eerste verklaring, die een dag eerder werd gepubliceerd. In die verklaring zei CrowdSec: “Er zijn geen klantgegevens, login/wachtwoord, naam, organisatie of iets anders gelekt”, en dat de impact beperkt bleef tot het bedrijf.

In de eerste verklaring werd ook het TanStack-compromis genoemd als de zeer waarschijnlijke bron van het lek. Het zei dat een component die in mei binnen CrowdSec werd gebruikt, een achterdeur leek te zijn om een ​​API-sleutel te stelen die de privécode kon lezen.

Het rapport van 18 september zegt dat geen van de kwaadaardige TanStack-versies is gevonden in de code van CrowdSec, en verwijst in plaats daarvan naar het account van de voormalige werknemer. Het vermeldt ook de namen van de investeerders, waarvan de eerste verklaring zei dat ze niet waren gelekt, samen met de e-mailadressen van de 83 gebruikers.

Thijs Van der Does