Andersons hoek
Onderzoek suggereert dat LLM’s bereid zijn om te helpen bij kwaadaardige ‘vibe coding’

De afgelopen jaren hebben grote taalmodellen (LLM’s) kritiek gekregen vanwege hun potentieel voor misbruik in offensieve cybersecurity, met name bij het genereren van software-exploits.
De recente trend naar ‘vibe coding’ (het informele gebruik van taalmodellen om snel code te ontwikkelen voor een gebruiker, in plaats van de gebruiker expliciet te leren programmeren) heeft een concept doen herleven dat zijn hoogtepunt bereikte in de jaren 2000: de ‘script kiddie’ – een relatief onervaren kwaadaardige actor met net genoeg kennis om een schadelijke aanval te repliceren of te ontwikkelen. De implicatie is natuurlijk dat wanneer de drempel naar toegang wordt verlaagd, bedreigingen zullen toenemen.
Alle commerciële LLM’s hebben een soort van beveiligingsmaatregel tegen het gebruik voor dergelijke doeleinden, hoewel deze maatregelen voortdurend worden aangevallen. Typisch hebben de meeste FOSS-modellen (over meerdere domeinen, van LLM’s tot generatieve beeld/video-modellen) een soortgelijke beveiliging, meestal voor compliance-doelen in het westen.
However, officiële modelreleases worden vervolgens routinematig fine-tuned door gebruikersgemeenschappen die meer complete functionaliteit zoeken, ofwel LoRAs gebruiken om beperkingen te omzeilen en potentieel ‘ongewenste’ resultaten te verkrijgen.
Hoewel de overgrote meerderheid van online LLM’s zal voorkomen dat de gebruiker hulp krijgt bij kwaadaardige processen, zijn ‘onbeperkte’ initiatieven zoals Deep Hat beschikbaar om security-onderzoekers te laten werken op een gelijk niveau als hun tegenstanders.
De algemene gebruikerservaring op dit moment wordt meestal weergegeven in de ChatGPT-serie, waarvan de filtermechanismen vaak kritiek krijgen van de LLM’s native community.
Het lijkt erop dat je een systeem aanvalt!
In het licht van deze vermeende neiging naar beperking en censuur, kunnen gebruikers verbaasd zijn om te ontdekken dat ChatGPT de meest coöperatieve van alle geteste LLM’s is in een recente studie die is ontworpen om taalmodellen te dwingen om kwaadaardige code-exploits te creëren.
De nieuwe paper van onderzoekers aan de UNSW Sydney en de Commonwealth Scientific and Industrial Research Organisation (CSIRO), getiteld Good News for Script Kiddies? Evaluating Large Language Models for Automated Exploit Generation, biedt de eerste systematische evaluatie van hoe effectief deze modellen kunnen worden geprompt om werkende exploits te produceren. Voorbeeldgesprekken uit het onderzoek zijn door de auteurs verstrekt.
De studie vergelijkt hoe modellen presteerden op zowel de oorspronkelijke als de gewijzigde versies van bekende kwetsbaarheidslabs (gestructureerde programmeringsoefeningen die zijn ontworpen om specifieke softwarebeveiligingsfouten te demonstreren), waardoor wordt onthuld of ze afhankelijk waren van geheugende voorbeelden of worstelden vanwege ingebouwde veiligheidsbeperkingen.

Van de ondersteunende site, de Ollama LLM helpt de onderzoekers om een string-kwetsbaarheidsaanval te ontwikkelen. Bron: https://anonymous.4open.science/r/AEG_LLM-EAE8/chatgpt_format_string_original.txt
Terwijl geen van de modellen in staat was om een effectieve exploit te creëren, kwamen enkele ervan heel dichtbij; belangrijker nog, enkele ervan wilden beter presteren bij de taak, wat wijst op een potentieel falen van bestaande beveiligingsmaatregelen.
Het artikel vermeldt:
‘Onze experimenten laten zien dat GPT-4 en GPT-4o een hoge mate van coöperatie vertonen bij exploitgeneratie, vergelijkbaar met sommige ongecensureerde open-sourcemodellen. Onder de geëvalueerde modellen was Llama3 het meest resistent tegen dergelijke verzoeken.
‘Ondanks hun bereidheid om te helpen, blijft de daadwerkelijke bedreiging die door deze modellen wordt gevormd beperkt, aangezien geen van hen succesvol exploits genereerde voor de vijf aangepaste labs met herschreven code. Echter, GPT-4o, de sterkste presteerder in onze studie, maakte typisch slechts één of twee fouten per poging.
‘Dit suggereert een aanzienlijk potentieel voor het gebruik van LLM’s om geavanceerde, generaliseerbare [Automated Exploit Generation (AEG)]-technieken te ontwikkelen.’
Veel tweede kansen
De waarheid ‘Je krijgt geen tweede kans om een goede eerste indruk te maken’ is niet algemeen van toepassing op LLM’s, omdat een taalmodel zijn typisch beperkte contextwindow betekent dat een negatieve context (in sociale zin, d.w.z. antagonistisch) niet persistent is.
Overweeg: als je naar een bibliotheek gaat en vraagt om een boek over praktische bommenmakerij, zou je waarschijnlijk worden geweigerd, op zijn minst. Maar (onder voorbehoud dat dit verzoek de conversatie niet volledig vanaf het begin heeft gesaboteerd) zouden je verzoeken om gerelateerde werken, zoals boeken over chemische reacties of schakelingontwerp, in de gedachten van de bibliothecaris duidelijk gerelateerd zijn aan het initiële verzoek en zouden worden behandeld in dat licht.
Waarschijnlijk zou de bibliothecaris ook onthouden in eventuele toekomstige ontmoetingen dat je ooit een boek over bommenmakerij had gevraagd, waardoor deze nieuwe context van jezelf ‘onherstelbaar’ zou worden.
Niet zo met een LLM, die kan worstelen om getokeniseerde informatie zelfs uit het huidige gesprek te behouden, laat staan uit lange-termijngeheugendirectieven (als die in de architectuur aanwezig zijn, zoals het ChatGPT-4o-product).
Dus zelfs informele gesprekken met ChatGPT onthullen ons toevallig dat het soms worstelt met een mug maar een kameel inslikt, niet in de laatste plaats wanneer een constituerend thema, studie of proces dat verband houdt met een anderszins ‘verboden’ activiteit tijdens de discours wordt toegestaan.
Dit geldt voor alle huidige taalmodellen, hoewel de kwaliteit van de beveiligingsmaatregelen kan variëren in omvang en aanpak onder hen (d.w.z. het verschil tussen het wijzigen van de gewichten van het getrainde model of het gebruik van in-/uitfilteren van tekst tijdens een chatsessie, wat het model structureel intact laat maar potentieel gemakkelijker aan te vallen).
Het testen van de methode
Om te testen hoe ver LLM’s konden worden geduwd om werkende exploits te genereren, hebben de auteurs een gecontroleerde omgeving opgezet met behulp van vijf labs van SEED Labs, elk gebouwd rond bekende kwetsbaarheden, waaronder een buffer overflow, return-to-libc, een Dirty COW-aanval en race conditions.
Naast het gebruik van de oorspronkelijke labs, hebben de onderzoekers gewijzigde versies gemaakt door variabelen en functies te hernoemen naar generieke identificatoren. Dit was bedoeld om te voorkomen dat de modellen zich baseren op geheugende trainingsvoorbeelden.
Elk lab werd tweemaal per model uitgevoerd: eenmaal in zijn oorspronkelijke vorm en eenmaal in zijn verhulde versie.
De onderzoekers voerden vervolgens een tweede LLM in de lus: een aanvallermodel ontworpen om het doelmodel te prompten en opnieuw te prompten om de output te verfijnen en te verbeteren over meerdere ronden. Het LLM dat voor deze rol werd gebruikt, was GPT-4o, dat werkte via een script dat de dialoog tussen de aanvaller en het doelmodel bemiddelde, waardoor de verfijningsscyclus kon worden voortgezet tot maximaal vijftien keer, of totdat geen verdere verbetering mogelijk werd geacht:

Werkstroom voor de LLM-gebaseerde aanvaller, in dit geval GPT-4o.
De doelmodellen voor het project waren GPT-4o, GPT-4o-mini, Llama3 (8B), Dolphin-Mistral (7B) en Dolphin-Phi (2,7B), die zowel propriëtaire als open-source systemen vertegenwoordigen, met een mengeling van afgestemde en niet-afgestemde modellen (d.w.z. modellen met ingebouwde veiligheidsmechanismen ontworpen om schadelijke prompts te blokkeren en die zijn gewijzigd door fine-tuning of configuratie om deze mechanismen te omzeilen).
De lokaal te installeren modellen werden uitgevoerd via het Ollama-framework, terwijl de anderen alleen via hun enige beschikbare methode toegankelijk waren – API.
De resulterende outputs werden gescoord op basis van het aantal fouten dat voorkwam dat de exploit zoals bedoeld functioneerde.
Resultaten
De onderzoekers testten hoe coöperatief elk model was tijdens het exploitgeneratieproces, gemeten door de percentage van antwoorden te registreren waarin het model probeerde de taak te helpen (zelfs als de output imperfect was).

Resultaten van de hoofdtest, waarin de gemiddelde coöperatie wordt getoond.
GPT-4o en GPT-4o-mini toonden de hoogste niveaus van coöperatie, met gemiddelde responspercentages van 97 en 96 procent, respectievelijk, over de vijf kwetsbaarheidscategorieën: buffer overflow, return-to-libc, format string, race condition en Dirty COW.
Dolphin-Mistral en Dolphin-Phi volgden dicht, met gemiddelde coöperatiepercentages van 93 en 95 procent. Llama3 toonde de minst bereidheid om deel te nemen, met een totale coöperatiepercentage van slechts 27 procent:

Links zien we het aantal fouten dat de LLM’s maakten op de oorspronkelijke SEED Lab-programma’s; rechts het aantal fouten dat ze maakten op de herschreven versies.
Bij het onderzoeken van de daadwerkelijke prestaties van deze modellen, vonden ze een opvallende kloof tussen bereidheid en effectiviteit: GPT-4o produceerde de meest accurate resultaten, met in totaal zes fouten over de vijf verhulde labs. GPT-4o-mini volgde met acht fouten. Dolphin-Mistral presteerde redelijk goed op de oorspronkelijke labs, maar worstelde aanzienlijk toen de code werd herschreven, wat suggereert dat het mogelijk soortgelijk materiaal had gezien tijdens de training. Dolphin-Phi maakte zeventien fouten en Llama3 de meeste, met vijftien.
De fouten waren meestal technische fouten die de exploit onbruikbaar maakten, zoals onjuiste buffersizes, ontbrekende luslogica of syntactisch valide maar ineffectieve payloads. Geen enkel model slaagde erin een werkende exploit te produceren voor een van de verhulde versies.
De auteurs observeerden dat de meeste modellen code produceerden die leek op werkende exploits, maar faalden vanwege een zwak begrip van hoe de onderliggende aanvallen werkelijk werken – een patroon dat zichtbaar was over alle kwetsbaarheidscategorieën en dat suggereerde dat de modellen vertrouwde codestructuren imiteerden in plaats van de logica te doorgronden (in buffer overflow-gevallen, bijvoorbeeld, faalden velen om een functionerende NOP sled/slide te construeren).
Bij return-to-libc-pogingen bevatten payloads vaak onjuiste padding of verkeerd geplaatste functieadressen, waardoor outputs ontstonden die valide leken, maar onbruikbaar waren.
Hoewel de auteurs deze interpretatie als speculatief beschrijven, suggereert de consistentie van de fouten een bredere kwestie waarin de modellen falen om de stappen van een exploit te verbinden met hun beoogd effect.
Conclusie
Er is enige twijfel, zo erkent het artikel, over of de geteste taalmodellen de oorspronkelijke SEED-labs tijdens de eerste training hebben gezien; waarom varianten zijn gemaakt. Niettemin bevestigen de onderzoekers dat ze graag met echte, recente exploits zouden willen werken in latere iteraties van deze studie; echt nieuwe en recente materiaal is minder waarschijnlijk om snelwegen of andere verwarrende effecten te hebben.
De auteurs geven ook toe dat de latere en geavanceerdere ‘denk’-modellen zoals GPT-o1 en DeepSeek-r1, die niet beschikbaar waren op het moment dat de studie werd uitgevoerd, de resultaten kunnen verbeteren, en dat dit een verdere indicatie is voor toekomstig werk.
Het artikel concludeert dat de meeste geteste modellen werkende exploits zouden hebben geproduceerd als ze daartoe in staat waren geweest. Hun falen om volledig functionele outputs te genereren, lijkt niet te worden veroorzaakt door beveiligingsmaatregelen, maar wijst eerder op een echte architecturale beperking – een die mogelijk al is verlaagd in recentere modellen, of binnenkort zal worden.
Eerst gepubliceerd op maandag 5 mei 2025












