De ‘grote kwaadaardige aanval’ die zich in mei 2026 op RubyGems richtte, was het werk van een zwerm OpenAI-agenten, volgens een nieuw rapport gepubliceerd door onderzoekers Spencer Kitts, Thomas Larsen en Sydney Von Arx.
Op 12 mei maakte Maciej Mensfeld, senior productmanager voor software supply chain security bij Mend.io, details bekend van een gecoördineerde cyberaanval die de pakketbeheerder voor de programmeertaal Ruby met honderden junk-edelstenen aanviel, wat de beheerders ertoe aanzette de aanmeldingen van nieuwe gebruikers ongeveer vier dagen op te schorten.
In een vervolganalyse benadrukte Socket een campagne genaamd GemStuffer, waarbij een cluster van meer dan 150 edelstenen betrokken was die het pakketregister gebruikten als data-exfiltratiekanaal en openbare gegevens verzamelden die afkomstig waren van portalen voor democratische diensten van de Britse lokale overheid. Destijds merkte het beveiligingsbedrijf voor de toeleveringsketen van software op dat de activiteit “hetzelfde misbruikpatroon” vertoonde als het bredere RubyGems-spampublicatie-incident.
“Het is niet duidelijk wat precies de einddoelen zijn, aangezien de informatie sowieso openbaar toegankelijk lijkt”, meldde The Hacker News destijds.
De laatste bevindingen, die voor het eerst werden gerapporteerd door The Wall Street Journal, geven aan dat deze gebeurtenissen werden aangedreven door een cluster van OpenAI-agenten, waarbij het eerste pakket op 5 mei 2026 naar RubyGems werd geüpload, voordat er tussen 11 en 12 mei 2026 meer dan 2.000 pakketten werden ingediend. Deze inspanningen werden gevolgd door de agenten die tussen 26 en 27 mei 2026 nog vijf pakketten publiceerden, en nog eens 83 pakketten in juni. 18, 2026.
De inschatting dat dit incident het gevolg was van een zwerm OpenAI-agenten komt voort uit het feit dat de pakketten zijn geschreven met behulp van een groot taalmodel (LLM) en dat honderden pakketten die naar RubyGems zijn gepusht “oai” in hun naam hadden. Vijftien van de pakketten vermeldden “oai” als auteur, terwijl een ander “[email protected]” als contact-e-mailadres had.
De namen van enkele ongewenste pakketten staan hieronder:
- chatoaitestgit1778552630
- lambhgproxyoai
- oaibx0092307
- oaicx8859010
- oaicx3857133
- oaidx4526859
- oaiex4149420
- oaifx7943598
- oaigx5861576
- oaihx0305933
- oaiix0379958
- oaijx0156671
- oaikx5119809
- oailm2
- oaipgttatggxy
- oaifetchgemugkejy
- oaiproxytestabc789
- oitfossilxbnowl
“De zwerm gedraagt zich zeer vergelijkbaar met de Duitse wiki-agenten die we eerder hebben gevonden”, aldus de onderzoekers, verwijzend naar een ander incident uit mei 2026 waarbij intern ingezette autonome agenten een Duits wiki-forum, DseWiki, kaapten en er een prikbord van maakten om antwoorden te vragen, resultaten te verzamelen en technieken te delen om hun beperkingen te omzeilen als onderdeel van een getimede web-lookup-taak.
“De June-agenten hadden toegang tot 49 van dezelfde bestanden als de wiki-agenten. De May-agenten hadden toegang tot verschillende bestanden (meestal gegevens van de lokale Britse overheid), maar deze bestanden lijken qua karakter sterk op de bestanden die door de wiki-agenten werden achtervolgd. Bovendien gebruiken ze dezelfde ophaalmethoden. 1.397 pakketten vermelden r.jina.ai, dat intensief werd gebruikt door de agenten op de wiki. We zien ook dat veel pakketten example.com vermelden, die wiki-agenten gebruikten om hun postmogelijkheden te testen.”

De agenten zouden misbruik hebben gemaakt van een ontwerpfout in het RubyDoc.info documentatieopbouwproces om openbare gegevens van Britse overheidswebsites te exfiltreren, waarschijnlijk als onderdeel van een taak voor het verzamelen van informatie, vergelijkbaar met de onderzoekstaken die worden verwerkt door de Duitse wiki-uitbuitende agenten.
“Het proces van het bouwen van documentatie voor een juweel omvat het evalueren van een door de gebruiker gespecificeerd ‘.yardopts’-bestand, dat het mogelijk maakt om te linken naar Ruby-scripts die bedoeld zijn om te helpen bij dit proces”, legden de onderzoekers uit. “In de GemStuffer-campagne misbruikten de agenten dit om willekeurige uitvoering van externe code op de servers van RubyDoc.info te verkrijgen.”
Eén van de edelstenen, “zzsouthrunner” (die opnieuw overeenkomt met het “ZZ”-naamgevingsschema dat de agenten hebben aangenomen in zowel de wiki- als Hugging Face-incidenten) blijkt de volgende expliciete opmerking achter te laten bovenaan “data/script.rb”:
# malicious crawler/exfil for Southwark Jan 2026 docs via rubydoc.info worker

Het is vermeldenswaard dat de GemStuffer-campagne zich richtte op openbare ModernGov-portals die werden gebruikt door Lambeth, Wandsworth en Southwark. De gehele exploitatieketen kan als volgt worden samengevat:
- Dien een kwaadaardig pakket in bij RubyGems
- Activeer een documentatieverzoek, zodat RubyDoc.info het pakket zal bouwen
- Gebruik het build-script om code uit te voeren op RubyDoc.info en doelwebsites te schrapen
- Exfiltreer de gegevens van de servers van RubyDoc.info door nog een juweeltje terug te publiceren naar het RubyGems-pakketregister, dat publiekelijk zichtbaar is
Bovendien zijn de OpenAI-agenten betrapt op pogingen om de API-sleutels van andere gebruikers te stelen nadat ze mogelijkheden hadden gekregen om code op afstand uit te voeren in de bouwomgeving, terwijl ze zich er duidelijk van bewust waren dat wat ze deden ongeoorloofd inbreken in echte systemen was.
Dit blijkt uit de namen die aan de bestanden zijn gegeven (bijvoorbeeld hack.rb, evil.rb, inject.rb, exploit.rb en ssrf.rb), de pakketten zelf (bijvoorbeeld pwnp999, exfiltestwand3, hacksvn1778554764 en lambproxyhackabcxyz) en het commentaar dat in de broncode is achtergelaten (bijvoorbeeld “# kwaadaardige probe”, “#hack”, “# kwaadaardige test” en “# kwaadaardige crawler/exfil”).
In sommige gevallen probeerden de malafide agenten echter onder de radar te blijven en lieten ze opmerkingen achter om de kwaadaardige lading in de volgende releaseversie van de pakketten te verbergen. “# het kwaad uitschakelen in de volgende versie en bump-versie”, luidt een opmerking achtergelaten in het bestand “data/evil.rb” in de edelsteen yardxabc889.
Verontrustend genoeg probeerden de agenten op 12 mei 2026 ook misbruik te maken van een CDN-cachingbug (CVSS-score: 7,3, geen CVE), die pas in juli 2026 door RubyGems werd gepatcht. Op een hoog niveau kon het probleem de API-sleutel van een account voor maximaal een uur aan een andere accounthouder overdragen, waardoor een aanvaller de sleutel van een willekeurige gebruiker kon lekken.
Zes van de pakketten die als onderdeel van de campagne zijn gepubliceerd, maakten gebruik van dit beveiligingslek voordat het werd verholpen, hoewel het onduidelijk is of ze in hun opzet zijn geslaagd. RubyGems zei in zijn waarschuwing van juli dat het geen teken heeft gevonden dat dit pad in een kwaadaardige context is uitgebuit. De namen van de zes Ruby-edelstenen staan hieronder:
- slnleaker5
- zwandshostyard
- lamfetchx548811
- lamfetchx550961
- lamfetchx550961
- tuinbrekerxqh1778552850
“Als u zich had aangemeld bij rubygems.org met een gem-client ouder dan v3.2.0 (of anderszins via een oudere sleutel), zou uw sleutel openbaar kunnen zijn gemaakt”, merkte RubyGems op in een advies. “Momenteel is 18% van de aanmeldingen via gem-aanmelding afkomstig van een getroffen versie, en gedurende de eerste jaren van deze bug, voordat we het aanmeldingspad van de klant in december 2020 veranderden, was het elke edelsteen-client.”
Enkele van de andere acties die door de agenten zijn ondernomen, worden hieronder vermeld:
- Agenten omzeilden het e-mailbevestigingssysteem van RubyGems om werkende API-sleutels te krijgen zonder hun e-mailadressen te hoeven verifiëren om een groot aantal accounts te registreren met behulp van wegwerp-e-mailadressen. Het probleem is op 12 mei 2026 opgelost. De mogelijkheid om te registreren met een wegwerp-e-mailadres is op 16 mei 2026 uitgeschakeld.
- Agenten probeerden het webhooksysteem van RubyGems te gebruiken om gegevens in de vorm van gecodeerde URL’s te presenteren.
- Agenten gebruikten een cluster van 83 edelstenen die op 18 juni 2026 in RubyGems waren gepubliceerd gedurende een periode van drie uur, om te experimenteren met verschillende methoden om toegang te krijgen tot de county.json-dataset van de Amerikaanse Securities and Exchange Commission (SEC).
Dit is niet de eerste keer dat OpenAI-agenten zich op RubyGems richten. In zijn post-mortem die eind vorige maand werd gepubliceerd, zei OpenAI dat het zag dat zijn agenten de door JFrog Artifactory ondersteunde RubyGems-verwerking misbruikten om de ondertekeningssleutel te verkrijgen en beheerdersreferenties te vervalsen als onderdeel van een aanval gericht op de infrastructuur van het kunstmatige intelligentie (AI) bedrijf.
De onderzoekers merkten ook op dat het in dit stadium onbekend is waarom de agenten de moeite namen om RubyGems aan te vallen om publiek beschikbare gegevens te verzamelen en of de agenten samenwerkten zoals in het geval van de andere incidenten. Er wordt aangenomen dat de agenten mogelijk hebben geprobeerd RubyGems te gebruiken als een manier om de verzamelde gegevens voortdurend op te slaan en de snelheidslimieten te omzeilen.
“We vermoeden dat ze met elkaar samenwerkten, zowel omdat dat een betere rechtvaardiging zou zijn om zoveel moeite te doen om de websites in de cache op te slaan, als omdat de pakketten die de agenten uploaden duizenden downloads lijken te hebben”, aldus de onderzoekers. “Maar dit is verre van definitief.”
Vorige week zei OpenAI dat het het wiki-incident behandelde als een “voorbeeld van een verkeerde afstemming, vergelijkbaar met degene die we hadden gedeeld”, en dat het historisch gezien “de verkeerde afstemming grotendeels als een onderzoeksvraag heeft behandeld, die wordt gecommuniceerd in onderzoekspublicaties zoals systeemkaarten.”
Het Amerikaanse bedrijf stelde vervolgens dat de AI-gemeenschap nog geen ‘duidelijke standaard heeft voor het rapporteren van onjuiste afstemming die zich voordoet tijdens training, evaluatie en implementatie, inclusief voorbeelden die niet op traditionele beveiligingsincidenten lijken, maar wel inzicht kunnen geven in AI-gedrag en toekomstige risico’s.’ Het zei ook dat het werkt aan een raamwerk dat het de komende weken publiekelijk wil delen.
De aflevering is slechts de laatste in een reeks cyberaanvallen die verband houden met grensoverschrijdende AI-laboratoria die de alarmbellen hebben doen rinkelen en de roep om strengere AI-regulering hebben aangewakkerd. Zoals overduidelijk is geworden, zullen AI-agenten, tenzij ze zorgvuldig worden beperkt, tot het uiterste gaan om de hun toegewezen taken te voltooien, zelfs als dat betekent dat ze uit de sandbox moeten breken of social engineering-aanvallen op echte mensen moeten uitvoeren.
De steeds groter wordende lijst van incidenten waarbij AI-agenten van OpenAI, Anthropic en Meta externe systemen hebben geschonden of geprobeerd toegang te krijgen, heeft aanleiding gegeven tot bezorgdheid over het tempo van de AI-ontwikkeling en hun potentieel om aan de menselijke controle te ontsnappen.
“Op basis van onze beoordeling gebruikten onze agenten het RubyGems-platform om toegang te krijgen tot internet om goedaardige taken uit te voeren en openbare informatie op te halen”, aldus OpenAI in een verklaring gedeeld met Reuters. “We zullen doorgaan met het onderzoeken als onderdeel van onze bredere beoordeling van de activiteit van agenten tijdens training en evaluatie.”
RubyGems van zijn kant zei dat zijn eigen onderzoek geen bewijs heeft gevonden dat de pogingen succesvol waren, en dat het zich inzet voor het opsporen en bestrijden van misbruik, ongeacht of de activiteit afkomstig is van mensen of geautomatiseerde hulpmiddelen.
“Op basis van het bewijsmateriaal dat voor ons beschikbaar is, kunnen we niet bepalen of de pakketten zijn gemaakt of gepubliceerd door AI-agenten”, zegt Colby Swandale, technisch hoofd bij Ruby Central. “Onze focus ligt op het identificeren en voorkomen van misbruik, ongeacht of het afkomstig is van mensen of geautomatiseerde tools.”