← Nieuwste papers
💻 computer science

Open-Source Intelligence for Code Provenance and the Security Patterns that Separate Human and Large-Language-Model Implementations of Common Programming Tasks

Dit artikel presenteert een volledig reproduceerbare, open-source pijplijn die aantoont dat de herkomst van codefragmenten met hoge nauwkeurigheid onderscheiden kan worden tussen menselijke versus large language model-oorsprong, terwijl het consistente divergenties in beveiligingspatronen over meerdere programmeertalen onthult en specifieke faalmodi in modelgestuurde kwetsbaarheidsherstelprocessen belicht.

Oorspronkelijke auteurs: Mohammadreza Rashidi

Gepubliceerd 2026-07-15
📖 5 min leestijd🧠 Diepgaand

Oorspronkelijke auteurs: Mohammadreza Rashidi

Oorspronkelijk artikel gelicentieerd onder CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Dit is een AI-gegenereerde uitleg van het onderstaande artikel. Het is niet geschreven of goedgekeurd door de auteurs. Raadpleeg het oorspronkelijke artikel voor technische nauwkeurigheid. Lees de volledige disclaimer

Stel je voor dat je een detective bent die een mysterie probeert op te lossen: Wie heeft deze code geschreven? Was het een menselijke ontwikkelaar die door een forum zoals Stack Overflow scrolde, of een Large Language Model (LLM) die in enkele seconden een antwoord uitspuugde? En belangrijker nog: is de code veilig?

Dit artikel is als een enorme, open-source onderzoeksopdracht waarbij de onderzoekers een "code zoo" (cododierentuin) hebben opgezet. Ze vroegen 9 verschillende AI-modellen en echte menselijke ontwikkelaars om 31 lastige beveiligingspuzzels op te lossen, van het vergrendelen van wachtwoorden tot het instellen van veilige logins. Vervolgens analyseerden ze de resultaten om te zien of ze de "soort" uit elkaar konden houden door puur naar het DNA van de code te kijken.

Hier zijn hun bevindingen, geserveerd met een zijstapje detectivewerk.

De Grote Identiteitswissel: Kun je AI van mens onderscheiden?

De Bevinding: Ja, dat kan.
De onderzoekers bouwden een classifier (een slimme sorteermachine) die keek naar de "vorm" van de code in plaats van alleen naar de beveiliging. Het is alsof je probeert te bepalen of een schilderij door een menselijke kunstenaar of een robot is gemaakt door naar de penseelstreken te kijken, en niet naar de onderwerpen.

  • De Score: De machine had het in 93% van de gevallen goed bij het raden van "Mens vs. AI", waarmee het de baseline van een willekeurige gok van 78% versloeg.
  • De "Vingerafdruk": Het waren niet de beveiligingsgeheimen die hen verraadden; het was de stijl.
    • AI-code is als een overvoorbereide chef: het is groot (gemiddeld 1.801 tekens versus de 552 van de mens), draagt een volledig schort (veel foutafhandeling en imports) en probeert een volledige, uitvoerbare maaltijd te serveren.
    • Menselijke code is als een snelle snack: het is korter, compacter en gaat er vaak vanuit dat je de keuken al hebt ingericht. Het is een "snippet" in plaats van een volledig programma.

De Twist: Hoewel de AI makkelijk te herkennen is als "AI", is het veel moeilijker om te bepalen welke specifieke AI de code heeft geschreven. Wanneer de onderzoekers probeerden te raden welke van de 9 modellen een specifiek stuk code had geschreven, haalden ze slechts 48% nauwkeurigheid (vergeleken met een baseline van 17%). Het is als het herkennen van een menselijke stem makkelijk is, maar het identificeren van precies welke van je 9 vrienden spreekt zonder hen te zien, een moeilijk spel is. Ook verandert deze "stem" afhankelijk van de taal; een classifier die getraind is op Python-code raakt in de war wanneer hij JavaScript ziet.

De Beveiligingsshowdown: Wie is veiliger?

De Bevinding: De AI is over het algemeen veiliger, maar heeft een vreemde blinde vlek.
De onderzoekers maten hoe vaak de code goede beveiligingsgewoonten gebruikte (zoals sterke wachtwoordhashing) versus slechte gewoonten (zoals het gebruik van zwakke wachtwoorden).

  • De Score: De AI-modellen scoorden een 0,40 op hun beveiligingsschaal, terwijl de menselijke antwoorden van Stack Overflow slechts een 0,12 scoorden.
  • Waarom AI wint: De AI lijkt de "nieuwere" regelboeken te hebben gelezen. Het weet dat het moderne, sterke wachtwoordhashing moet gebruiken en algoritmen moet vastzetten voor beveiligingstokens. De menselijke antwoorden, waarvan er veel oud en hoog gewaardeerd zijn, gebruiken vaak verouderde, risicovolle methoden die jaren geleden veel voorkwamen maar nu als gevaarlijk worden beschouwd.
  • De Fatale Fout van de AI: De AI is zo enthousiast om "behulpzaam" en compleet te zijn dat hij zichzelf soms in een val loopt. Wanneer gevraagd wordt om een volledig programma te schrijven, vult de AI de "geheime sleutel" vaak in met een nep-placeholder (zoals client_secret = "your-secret-key"). Als een ontwikkelaar deze code kopieert zonder de placeholder te wijzigen, staat de app wagenwijd open. Mensen, die kortere snippets schrijven, laten de geheime sleutel vaak leeg, waardoor de lezer gedwongen wordt deze veilig in te vullen.
    • Het Oordeel: Mensen falen omdat ze oude gewoonten gebruiken. AI faalt omdat het probeert te compleet te zijn.

De "Fix-Het" Test: Kan AI een gat dichten?

De onderzoekers speelden ook een spel: "Hier is kapotte, onveilige code. Los het op."

  • De Score: De AI slaagde erin de code in 77% van de gevallen te repareren.
  • De Valstrik: In 16% van de gevallen deed de AI een "gedeeltelijke fix". Het verwijderde het slechte deel (zoals een zwakke wachtwoordhash) maar vergat het goede deel toe te voegen (zoals een sterke een). Het is alsoam een monteur die de roestige remmen van een auto verwijdert, maar vergeet nieuwe remmen te plaatsen. De auto ziet er "gerepareerd" uit omdat de roest weg is, maar is nog steeds gevaarlijk.

De Kern van het Verhaal

Dit onderzoek bewijst dat provenance (weten waar code vandaan komt) mogelijk en nuttig is.

  • Als je code ziet die lang, gestructureerd en vol foutafhandeling is, is het waarschijnlijk AI. Controleer het op hardcoded secrets (placeholders die niet zijn gewijzigd).
  • Als je code ziet die kort, compact en gebruikt met oudere bibliotheken is, is het waarschijnlijk menselijk. Controleer het op verouderde beveiligingsgewoonten (zoals zwakke wachtwoorden of openstaande deuren).

De onderzoekers gokten niet alleen; ze bouwden een volledig reproduceerbare pijplijn met uitsluitend publieke data. Ze simuleerden de resultaten niet; ze maten ze op 528 echte codemonsters. Ze beweerden niet dat AI "perfect veilig" is (dat is het niet); ze lieten alleen zien dat AI en mensen op verschillende plekken falen. Weten naar welke bron je kijkt, vertelt je precies welk vangnet je moet controleren.

Verdrinkt u in papers in uw vakgebied?

Ontvang dagelijkse digests van de nieuwste papers die bij uw onderzoekswoorden passen — met technische samenvattingen, in uw taal.

Probeer Digest →