Australië heeft twee mannen van 21 en 23 jaar aangeklaagd als hoofdrolspelers achter TeamPCP, de groep die open-sourcepakketten vergiftigde en volgens de federale politie AFP ruim duizend organisaties wereldwijd raakte.
Aan die zaak hangt voor het eerst een prijskaartje. De AFP becijfert samen met de FBI dat er ruim 500.000 inloggegevens werden buitgemaakt en minstens 300 gigabyte aan data werd weggesluisd, met herstelkosten die wereldwijd in de honderden miljoenen dollars lopen. Die rekening ligt niet bij de vergiftigde projecten, maar bij de partijen die de pakketten binnenhaalden. Wie npm, PyPI of publieke Docker-images gebruikt, en dat is vrijwel elk bedrijf dat software laat bouwen, moet bij zo'n besmetting elke sleutel en elk token in de pijplijn vervangen en daarna uitzoeken wat er in de tussentijd mee is gedaan. Dat is geen patchklus van een middag.
Wat de politie de twee verwijt
De twee werden op 26 augustus aangehouden, na doorzoekingen in de West-Australische plaatsen Cottesloe, Hamilton Hill en Mandurah. Samen kregen de twee veertien aanklachten, van het bezitten en leveren van data met het oog op een computermisdrijf tot vier keer het ongeoorloofd wijzigen van data om een ernstig misdrijf mogelijk te maken. De jongste van de twee kreeg er twee zware bij: het weigeren van een bevel tot toegang tot versleutelde gegevens, waar in Australië tien jaar cel op staat, en het verwerken van meer dan 100.000 dollar aan crimineel geld, met een maximum van twintig jaar. Beiden verschenen op 27 augustus voor de rechtbank in Perth. De AFP en de FBI waren in april met parallelle onderzoeken begonnen.

Hoe de besmetting liep
TeamPCP kaapte publicatierechten van vertrouwde open-sourceprojecten en duwde daarmee vergiftigde versies door de gewone distributiekanalen. De campagne raakte vijf distributiekanalen tegelijk: GitHub Actions, Docker Hub, npm, PyPI en OpenVSX. Onder de besmette projecten zaten de kwetsbaarhedenscanner Trivy van Aqua Security, de configuratiescanner KICS en de GitHub Actions van Checkmarx, en de AI-gateway LiteLLM. Sleutels die uit het ene project werden gestolen, openden de deur naar het volgende. De malware stal tokens, keys en andere inloggegevens en verspreidde zich vanaf de machine van de ontwikkelaar verder door de omgeving.
Het getal van ruim duizend organisaties is een bovengrens van wat mogelijk is gecompromitteerd, geen lijst met bevestigde slachtoffers. The Hacker News telde eind maart zestien organisaties die de groep zelf op haar leksite als slachtoffer had gepubliceerd. In Australië zelf werd overheidsinstantie NDIA, die de landelijke gehandicaptenzorgregeling uitvoert, in de maartcampagne geraakt, maar die hield de schade beperkt dankzij meerdere verdedigingslagen.
Een aanhouding haalt het gereedschap niet uit de omloop
De groep zette het wormraamwerk achter de Mini Shai-Hulud-campagne op 12 mei zelf als open source online, en vergelijkbaar gereedschap dook in augustus op bij nieuwe aanvallen op npm. Dat is exact het patroon dat zichtbaar werd toen een gekaapt account van een keyv-beheerder honderden npm-pakketten besmette met een worm die omgevingsvariabelen en inloggegevens steelt. Een vervolging raakt de daders. Het gereedschap staat nog gewoon online.
De maatregelen zijn niet nieuw, de onderbouwing wel
Wat een organisatie hiertegen doet, lag in juli al op tafel. De FBI adviseerde toen een minimale package-leeftijd van zeven dagen voordat je een nieuw uitgebrachte versie installeert, naast het pinnen van versies tot op de commit-hash, phishing-bestendige MFA op elk account met publicatierechten en het roteren van CI/CD-secrets. Stuk voor stuk instellingen en beleid, geen aankoop. In de praktijk komt het neer op een lijst van alles wat je binnenhaalt en een pijplijn die niets ongemerkt laat updaten.
Wat deze zaak toevoegt, is de prijs. Zolang die onzichtbaar bleef, was een vergiftigd pakket een incident voor het ontwikkelteam en een middagje versies bijwerken. Met 500.000 gestolen inloggegevens, 300 gigabyte weggesluisde data en honderden miljoenen dollars aan opruimkosten op de teller is de vraag welke code je binnenhaalt, en onder welke voorwaarden, geen technische detailkwestie meer. Die hoort thuis op dezelfde tafel waar je beslist met welke leveranciers je in zee gaat.
Veelgestelde vragen
Grip op code van anderen
Het grootste deel van elke applicatie bestaat uit pakketten die je zelf niet schreef. Ik denk met je mee over hoe je stack in elkaar hoort te zitten, richt de pijplijn zo in dat niets ongemerkt binnenkomt, en bouw of neem de software over die daaronder draait, self-hosted waar dat kan.
Dit artikel is geproduceerd samen met het Agent Team. Meer over de redactie.
