De aanvaller hoeft maar één keer te beslissen

· Awareness · 7 min

De aanvaller hoeft maar één keer te beslissen

Het grootste deel van de securitygeschiedenis waren degene die je misleidt en degene die bepaalt wat er daarna gebeurt dezelfde persoon, die in real time werkte. Dat verandert. En als je het eenmaal ziet, zie je het overal.

Neem vier recente verhalen: phishing die misbruik maakt van een echte Microsoft-inlogflow, een Noord-Koreaanse groep die malware plant via nep-sollicitatiegesprekken, diezelfde groep die opduikt in een package registry die nog nooit op deze manier was misbruikt, en een groep die drie gekoppelde AI-agents een complete campagne van creditcarddiefstal liet uitvoeren tegen meer dan honderd bedrijven. Verschillende onderwerpen, maar één gedeelde verschuiving, met steeds meer automatisering.

Hoofdstuk één: een mens de vertrouwde stap laten zetten

Device code phishing vervalst nauwelijks iets. In plaats van een nagemaakte inlogpagina start de aanvaller een echte Microsoft device sign-in flow, dezelfde die een smart-tv gebruikt om in te loggen. Die levert een echte code en een echte verificatiepagina op. De aanvaller heeft alleen een voorwendsel nodig (een nep-Teams-uitnodiging, een “beveiligde chat”) om het slachtoffer die code te laten invoeren.

Het slachtoffer logt in op de echte site, doorloopt zelf de MFA en geeft het resulterende token aan iemand anders. Er is geen nepdomein om te herkennen, want dat is er niet. Het vertrouwen zat nooit in de interface. Het zat in de persoon die klikte, en de aanvaller hoefde alleen een geloofwaardige reden te geven om te klikken.

Hetzelfde patroon zie je in de Graphalgo-campagne van Noord-Korea: een overtuigend LinkedIn-profiel, een baanaanbod van een Web3-bedrijf dat niet bestaat, een “coding challenge”-repo. Het doelwit wordt niet naar een nepsite gelokt. Ze draaien echte code op een echte machine, als onderdeel van wat lijkt op een normaal sollicitatieproces. De repo zelf ziet er schoon uit, omdat het kwaadaardige deel binnenkomt via een dependency.

Deze september verhuisde die dependency-truc naar de HashiCorp Terraform Registry, de eerste keer dat de publieke registry is gebruikt om malware te verspreiden. Eén van de providers werd gepubliceerd als kreuzwenker/docker, één letter verschil met de legitieme en veelgebruikte kreuzwerker/docker. Er wordt dus toch iets vervalst, alleen een laag hoger in de keten. De aanvaller vervalst niet de inlogpagina. Ze vervalsen een naam in een lijst die developers al vertrouwen, en laten het sollicitatiegesprek de reden leveren om hem te installeren.

In al deze gevallen was de taak van de aanvaller overtuigen. Laat een mens één legitieme handeling uitvoeren in de verkeerde context, en het systeem doet de rest. Wat er daarna gebeurde, met het gestolen token of de gecompromitteerde laptop, was nog steeds een menselijke beslissing, genomen op het moment zelf.

Hoofdstuk twee: één keer beslissen, vooraf

Het vierde verhaal is waar dat patroon breekt.

In september kregen onderzoekers van Gambit toegang tot een staging server van een aanvaller die al sinds minstens juli actief was. Tegen die tijd had de operatie minstens 119 websites gecompromitteerd, waaronder een Fortune 500-bedrijf in de hospitality-sector en een grote Amerikaanse luchtvaartmaatschappij. Ze hadden meer dan 600.000 kaartgegevens rechtstreeks uit de databases van twee bedrijven gehaald en skimmers geplaatst op de checkout-pagina’s van vijf andere.

Kaartdiefstal is niet nieuw. Wat wel nieuw was, was hoe de operatie draaide.

Drie gekoppelde AI-tools deden het werk. Strix deed het scannen. Cairn was een autonome exploitation engine die doelen najoeg zoals “get a shell.” Hermes orkestreerde alles, naar verluidt draaiend op Claude Opus 4.6. Hermes had een persona-bestand met de naam “SOUL - Red Team Operator” en 121 skills, waarvan 78 offensief. Het koos de injectiemethode (een aangepast JavaScript-bestand, een script tag in een tag manager-blok, een vergiftigde CDN cache), besliste wanneer te escaleren en wanneer door te gaan naar het volgende doelwit.

De mens gaf vooral korte doelen door tussen de runs. Tussen 10 en 15 september lanceerde de setup 105 aanvalsgolven en was die in meer of mindere mate succesvol bij minstens 27 doelwitten. Alleen al het scannen kwam uit op 633 uur tegen 138 hosts in negen dagen.

Het detail om te onthouden is één regel in een van de skill-bestanden, die de agent opdroeg om “wipe the source fields in batches” zodra de kaartgegevens waren gedownload. Het is verleidelijk om dat te lezen als een agent die besluit zijn sporen uit te wissen. Dat was het niet. Een mens besloot dat, één keer, bij het schrijven van het bestand. De agent voerde het vervolgens uit op elke Magento-database die hij bereikte, en die wipes zorgden voor echte uitval bij meerdere retailers. De mens hoefde er nooit opnieuw over na te denken, en niemand deed dat ook.

Dat is de echte verschuiving. De aanvaller is niet gestopt met beslissen. Ze zijn gestopt met beslissen in real time. Het oordeel verhuisde uit het hoofd van de operator naar doelen, persona’s en skill-bestanden die onbeheerd draaien, op een schaal die geen enkele operator kan evenaren.

Hetzelfde vertrouwensprobleem, de beslissing is alleen verplaatst

Het patroon is niet “aanvallers gebruiken slimmere tools.” Dat is elk jaar waar en niet erg interessant. Wat wel interessant is: het punt waar vertrouwen wordt misbruikt is twee keer verschoven, in dezelfde richting. Eerst van de interface naar de persoon: laat een mens één echte stap voor je zetten. Daarna van de persoon naar een geschreven instructie: beslis één keer, en laat een agent elke stap daarna zetten.

Verdedigers gaan dezelfde kant op, met AI-assisted triage, autonomous response en agents die in de SOC handelen zonder dat een mens elk alert controleert. Gambit laat zien hoe dat eruitziet zonder de guardrails waar een echt securityteam op zou staan. Eén redelijk klinkende regel, één keer geschreven en nooit meer bekeken, leidde tot dataverlies bij slachtoffers waar de schrijver nooit naar heeft gekeken. Herkenbaar als je ooit een agent een instructie net iets te letterlijk hebt zien nemen. Dat geldt voor je eigen runbooks net zo goed als voor die van hen.

Wat dit voor jou verandert

Als je Microsoft 365 beheert: MFA houdt device code phishing niet tegen, omdat het slachtoffer de MFA zelf doorloopt. Blokkeer de device code flow met Conditional Access voor iedereen die hem niet nodig heeft, en stap over op phishing-resistant sign-in en token protection. Behandel elk ongevraagd verzoek om een inlogcode in te voeren als een aanval.

Als je mensen aanneemt of code schrijft: “Draai deze repo voor het sollicitatiegesprek” is een rode vlag, ook als de repo zelf er schoon uitziet. Controleer namen van dependencies en providers letter voor letter, en pin vertrouwde Terraform providers zodat een lookalike er niet tussendoor glipt.

Als je een webshop hebt: Let op onverwachte script tags, wijzigingen in tag manager-blokken en cron jobs die je niet zelf hebt aangemaakt. Ga er ook van uit dat de aanvaller bij vertrek data kan verwijderen. Test of je je klant- en orderdatabases daadwerkelijk kunt herstellen, niet alleen of de backups bestaan.

Als je klant bent: Je kunt niet voorkomen dat je kaart uit de database van een ander wordt gestolen. Zet transactiemeldingen aan, gebruik virtuele of eenmalige kaarten bij kleinere webshops en controleer je afschriften.

Als je een incident afhandelt: Pas je beeld van “de aanvaller” aan. Als een compromise snel, goedkoop en net iets te netjes lijkt (kaartvelden die na een stille periode in batches zijn leeggemaakt, een skimmer die door een cron job steeds terugkomt), heb je misschien niet te maken met een mens die live een playbook afwerkt. Misschien is het een agent die er een uitvoert. En “goedkoop” is echt goedkoop: de eigen kostenanalyse van de operator kwam gemiddeld uit op ongeveer $25 per doelwit, van zo’n $3 aan de onderkant tot $79 aan de bovenkant. Voor die prijs betekent “ongeavanceerd” niet langer “kleinschalig.”

Bronnen

Malicious AI agents steal 600K credit cards, infect 100+ sites with skimmers, BleepingComputer: https://www.bleepingcomputer.com/news/security/malicious-ai-agents-steal-600k-credit-cards-infect-100-plus-sites-with-skimmers/

Autonomous AI agents attack online retailers, Gambit Security: https://gambit.security/blog-posts/autonomous-ai-agents-online-retailers-25-a-company

Attackers Use Malicious Terraform Providers to Deliver Go Malware via HashiCorp Registry, The Hacker News: https://thehackernews.com/2026/09/attackers-use-malicious-terraform.html

Graphalgo Terraform providers and Go modules, Aikido: https://www.aikido.dev/blog/graphalgo-terraform-go-modules

Lazarus campaign plants malicious packages (Graphalgo, original reporting), The Hacker News: https://thehackernews.com/2026/02/lazarus-campaign-plants-malicious.html

How device code phishing gives scammers access to your account, Malwarebytes: https://www.malwarebytes.com/blog/how-to/2026/09/how-device-code-phishing-gives-scammers-access-to-your-account

Vond je dit nuttig? Geef kudos: