HomeAIHet ARQ-framework verhoogt het aantal echte positieven bij CodeQL-kwetsbaarheidsdetectie met 119,8%

Het ARQ-framework verhoogt het aantal echte positieven bij CodeQL-kwetsbaarheidsdetectie met 119,8%

Een nieuw onderzoeksraamwerk genaamd ARQ pakt een van de hardnekkigste hoofdpijndossiers in softwarebeveiliging aan: het zover krijgen van geautomatiseerde codescanners dat ze daadwerkelijk de juiste bugs markeren. Het werk, geschreven door Chunyi Wang en gepubliceerd op arXiv in augustus 2026, richt zich op CodeQL-kwetsbaarheidsdetectie, een veelgebruikte methode voor het opspeuren van fouten in C- en C++-code, en laat zien dat de detectiequeries van vandaag veel minder betrouwbaar zijn dan ontwikkelaars vaak aannemen.

Belangrijkste punten

  • ARQ verfijnt automatisch CodeQL C/C++-queries met behulp van uitvoeringsbewijzen uit gesynthetiseerde programma’s, zonder gelabelde datasets of kwetsbaarheidsspecifieke sjablonen.
  • Tests met drie commerciële LLM’s — GPT-5.4, Claude-Sonnet-4.6 en Gemini-3.5-flash — verfijnden 12 officiële CodeQL-queries.
  • Verfijnde queries detecteerden tot 119,8% meer echte positieven, terwijl de precisie op 98,0% of hoger bleef.
  • ARQ loste drie GitHub-issues op in de officiële CodeQL-repository die al tot 27 maanden onopgelost waren gebleven.
  • De verfijnde queries brachten twee voorheen onbekende bugs aan het licht in de real-world libraries libpng en zlib.

Beperkingen van huidige CodeQL-queries bij C/C++-kwetsbaarheidsdetectie

Statistische analysetools zijn een standaardonderdeel geworden van softwarebeveiligingsworkflows, en CodeQL behoort tot de meest wijdverspreid gebruikte tools voor het scannen van C/C++-codebases. Deze tools werken door bekende kwetsbare codepatronen in detectiequeries te coderen en die patronen vervolgens te matchen met de broncode van een programma. De aanpak klinkt in theorie helder, maar brengt in de praktijk de nodige frictie met zich mee.

Voorkomen van false positives en false negatives in bestaande queries

Bestaande CodeQL-queries genereren nog steeds false positives, waarbij veilige code ten onrechte als kwetsbaar wordt aangemerkt, en false negatives, waarbij echte beveiligingslekken worden gemist. Beide uitkomsten brengen kosten met zich mee. False positives verspillen ontwikkeltijd aan het najagen van niet-bestaande bugs, terwijl false negatives echte kwetsbaarheden in productie laten glippen. Precies deze kloof is wat ARQ moest dichten, en het verklaart waarom CodeQL-kwetsbaarheidsdetectie een actief onderzoeksgebied is gebleven in plaats van een opgelost probleem.

ARQ-raamwerk: Geautomatiseerde, op uitvoering gebaseerde queryverfijning

ARQ is een agentisch raamwerk dat C/C++-CodeQL-queries automatisch verbetert door ze te baseren op uitvoeringsbewijzen uit gesynthetiseerde programma’s, in plaats van te vertrouwen op handmatig gelabelde voorbeelden of handmatig gebouwde sjablonen. Dat onderscheid is belangrijk, omdat de meeste eerdere verfijningstechnieken afhankelijk waren van samengestelde datasets of commitgeschiedenissen die duur zijn om te produceren en traag om te onderhouden.

Mechanisme voor het identificeren van queryzwaktes via uitvoeringen van gesynthetiseerde programma’s

Het kerninzicht achter ARQ is eenvoudig maar krachtig: een gesynthetiseerd programma legt een zwakte in een query bloot zodra de daadwerkelijke uitvoering niet overeenkomt met wat de query voorspelt. Als een programma daadwerkelijk kwetsbaar is maar de query stil blijft, wijst dat op een false negative. Als het programma in werkelijkheid veilig is maar de query het toch markeert, wijst dat op een false positive. Dit geeft ARQ een ingebouwde, zelfgegenereerde grondwaarheid om de kwaliteit van queries te beoordelen zonder externe labeling nodig te hebben.

LLM-gebaseerde iteratieve verfijningslus zonder gelabelde data of kwetsbaarheidsspecifieke sjablonen

Zodra een zwakte is blootgelegd, voert ARQ een LLM-gebaseerde iteratieve lus uit die de query repareert met behulp van die uitvoeringsverschillen als bewijs. Dit is het onderdeel van ARQ-queryverfijning dat het onderscheidt van eerdere benaderingen. Er is geen afhankelijkheid van gelabelde datasets, geen noodzaak voor het minen van commitgeschiedenissen en geen kwetsbaarheidsspecifieke sjablonen die in het systeem zijn ingebakken. Het verfijningsproces is zelfvoorzienend en volledig gedreven door de mismatch tussen voorspeld en geobserveerd gedrag in gesynthetiseerde code.

Evaluatie en impact van ARQ-verfijningen op CodeQL-queries

De praktische toets voor elk verfijningsraamwerk is of het de detectieresultaten daadwerkelijk verbetert, en de resultaten van ARQ suggereren dat dit in ruime mate het geval is. De onderzoekers verfijnden 12 officiële CodeQL-queries en toetsten de verbeteringen met behulp van twee gevestigde C/C++-kwetsbaarheidsdatasets, wat de resultaten een betekenisvol anker geeft in bestaand onderzoek naar C/C++-statische analyse.

Verfijningsresultaten met GPT-5.4, Claude-Sonnet-4.6 en Gemini-3.5-flash

ARQ werd getest met drie commerciële large language models: GPT-5.4, Claude-Sonnet-4.6 en Gemini-3.5-flash. Elk model dreef de iteratieve verfijningslus onafhankelijk aan, zodat de onderzoekers konden vergelijken hoe verschillende LLM’s presteerden op dezelfde onderliggende taak. Dit multi-modelontwerp versterkt het vertrouwen dat de winst voortkomt uit de methodologie van ARQ zelf, en niet uit eigenaardigheden van één enkel model.

Prestatieverbeteringen op de benchmarkdatasets Juliet v1.3 en FormAI v2

Zowel ARQ-verfijnde als originele CodeQL-queries werden vergeleken op de Juliet v1.3- en FormAI v2-datasets, twee erkende benchmarks voor het evalueren van kwetsbaarheidsdetectietools. De verfijnde queries detecteerden aanzienlijk meer echte positieven, een toename tot 119,8%, terwijl de precisie gedurende het hele proces op minimaal 98,0% bleef. Die combinatie is opmerkelijk: het is relatief eenvoudig om meer echte positieven te vangen door de detectiecriteria te versoepelen, maar dat drukt de precisie doorgaans omlaag doordat er meer false positives binnensluipen. De resultaten van ARQ laten het tegenovergestelde patroon zien, wat betekent dat het raamwerk niet alleen een groter net uitwerpt, maar het net zelf aanscherpt.

Oplossing van langlopende GitHub-issues en ontdekking van nieuwe bugs in libpng en zlib

Naast benchmarkcijfers leverde ARQ concrete oplossingen in de praktijk. Het raamwerk loste drie openstaande GitHub-issues op in de officiële CodeQL-queryrepository, issues die al tot 27 maanden zonder oplossing openstonden. Daarbovenop brachten de verfijnde queries twee eerder onontdekte bugs aan het licht in libpng en zlib, twee veelgebruikte real-world libraries. Dat is een betekenisvol signaal: dit is niet slechts een academische oefening die betere cijfers op een ranglijst oplevert, maar een tool die daadwerkelijke, voorheen onbekende beveiligingslekken in software heeft blootgelegd waar talloze applicaties van afhankelijk zijn.

Waarom dit belangrijk is voor softwarebeveiliging

De implicaties reiken verder dan CodeQL zelf. False positives en false negatives zijn een chronisch probleem in het hele veld van statische analyse, niet alleen in één tool, en elke methode die beide tegelijkertijd vermindert, zonder gelabelde data of handgemaakte sjablonen te vereisen, heeft het potentieel om invloed uit te oefenen op hoe toekomstige tools voor LLM-gestuurde queryverbetering worden gebouwd. Voor organisaties die vertrouwen op geautomatiseerde scans om C/C++-codebases te beveiligen, kan een raamwerk dat de detectie van echte positieven verhoogt terwijl de precisie boven de 98% blijft, betekenen dat er minder kostbare engineeringsuren verloren gaan aan valse alarmen en minder echte kwetsbaarheden onopgemerkt blijven.

De ontdekking van nieuwe bugs in libpng en zlib onderstreept ook iets belangrijks: zelfs volwassen, intensief doorgelichte open-sourcelibraries kunnen nog onopgemerkte fouten bevatten, en beter verfijnde detectiequeries kunnen ze vinden waar bestaande tools dat niet konden.

FAQ

Welk probleem probeert ARQ op te lossen bij C/C++-kwetsbaarheidsdetectie?

ARQ pakt false positives en false negatives in bestaande CodeQL-queries aan door ze automatisch te verfijnen met behulp van uitvoeringsbewijzen uit gesynthetiseerde programma’s.

Hoe identificeert ARQ zwaktes in CodeQL-queries?

ARQ detecteert queryzwaktes telkens wanneer de uitvoering van een gesynthetiseerd programma niet overeenkomt met het oordeel van de query: een mismatch signaleert ofwel een false positive ofwel een false negative.

Welke rol spelen large language models in ARQ?

ARQ gebruikt een LLM-gebaseerde iteratieve verfijningslus om queries te repareren op basis van uitvoeringsfeedback, zonder gelabelde data of kwetsbaarheidsspecifieke sjablonen nodig te hebben.

Welke tastbare verbeteringen liet ARQ zien bij het verfijnen van CodeQL-queries?

Door ARQ verfijnde CodeQL-queries verhoogden de detectie van echte positieven met tot 119,8% bij een precisie van minimaal 98,0%, losten drie langlopende GitHub-issues op en ontdekten twee nieuwe bugs in real-world libraries.

{“@context”:”https://schema.org”,”@type”:”FAQPage”,”mainEntity”:[{“@type”:”Question”,”name”:”Welk probleem probeert ARQ op te lossen bij C/C++-kwetsbaarheidsdetectie?”,”acceptedAnswer”:{“@type”:”Answer”,”text”:”ARQ pakt false positives en false negatives in bestaande CodeQL-queries aan door ze automatisch te verfijnen met behulp van uitvoeringsbewijzen uit gesynthetiseerde programma’s.”}},{“@type”:”Question”,”name”:”Hoe identificeert ARQ zwaktes in CodeQL-queries?”,”acceptedAnswer”:{“@type”:”Answer”,”text”:”ARQ detecteert queryzwaktes telkens wanneer de uitvoering van een gesynthetiseerd programma niet overeenkomt met het oordeel van de query: een mismatch signaleert ofwel een false positive ofwel een false negative.”}},{“@type”:”Question”,”name”:”Welke rol spelen large language models in ARQ?”,”acceptedAnswer”:{“@type”:”Answer”,”text”:”ARQ gebruikt een LLM-gebaseerde iteratieve verfijningslus om queries te repareren op basis van uitvoeringsfeedback, zonder gelabelde data of kwetsbaarheidsspecifieke sjablonen nodig te hebben.”}},{“@type”:”Question”,”name”:”Welke tastbare verbeteringen liet ARQ zien bij het verfijnen van CodeQL-queries?”,”acceptedAnswer”:{“@type”:”Answer”,”text”:”Door ARQ verfijnde CodeQL-queries verhoogden de detectie van echte positieven met tot 119,8% bij een precisie van minimaal 98,0%, losten drie langlopende GitHub-issues op en ontdekten twee nieuwe bugs in real-world libraries.”}}]}

Artikel geproduceerd met behulp van kunstmatige intelligentie en beoordeeld door de redactie.

RELATED ARTICLES

Stay updated on all the news about cryptocurrencies and the entire world of blockchain.

Featured video

LATEST