StartAIDas ARQ-Framework steigert die echten Positivmeldungen bei der CodeQL-Schwachstellenerkennung um 119,8 %

Das ARQ-Framework steigert die echten Positivmeldungen bei der CodeQL-Schwachstellenerkennung um 119,8 %

Ein neues Forschungsframework namens ARQ nimmt sich eines der hartnäckigsten Probleme der Softwaresicherheit vor: automatisierte Code-Scanner dazu zu bringen, tatsächlich die richtigen Bugs zu melden. Die Arbeit, verfasst von Chunyi Wang und im August 2026 auf arXiv veröffentlicht, zielt auf die CodeQL-Schwachstellenerkennung, eine weit verbreitete Methode zum Aufspüren von Schwachstellen in C- und C++-Code, und zeigt, dass die heutigen Erkennungsabfragen weit weniger zuverlässig sind, als Entwickler annehmen könnten.

Wichtigste Erkenntnisse

  • ARQ verfeinert CodeQL-C/C++-Abfragen automatisch mithilfe von Ausführungsbelegen aus synthetisierten Programmen, ohne gelabelte Datensätze oder schwachstellenspezifische Vorlagen.
  • Tests mit drei kommerziellen LLMs – GPT-5.4, Claude-Sonnet-4.6 und Gemini-3.5-flash – verfeinerten 12 offizielle CodeQL-Abfragen.
  • Verfeinerte Abfragen erkannten bis zu 119,8 % mehr True Positives, während die Präzision bei 98,0 % oder höher blieb.
  • ARQ löste drei GitHub-Issues im offiziellen CodeQL-Repository, die bis zu 27 Monate lang ungelöst geblieben waren.
  • Die verfeinerten Abfragen deckten zwei zuvor unbekannte Bugs in den realen Bibliotheken libpng und zlib auf.

Grenzen aktueller CodeQL-Abfragen bei der C/C++-Schwachstellenerkennung

Statische Analyzer sind zu einem Standardbestandteil von Softwaresicherheits-Workflows geworden, und CodeQL gehört zu den am weitesten verbreiteten Tools zum Scannen von C/C++-Codebasen. Diese Werkzeuge funktionieren, indem bekannte verwundbare Code-Muster in Erkennungsabfragen kodiert und diese Muster dann mit dem Quellcode eines Programms abgeglichen werden. Der Ansatz klingt in der Theorie sauber, bringt in der Praxis jedoch erhebliche Reibung mit sich.

Häufigkeit von False Positives und False Negatives in bestehenden Abfragen

Bestehende CodeQL-Abfragen erzeugen weiterhin False Positives, indem sie sicheren Code fälschlicherweise als verwundbar markieren, und False Negatives, indem sie tatsächliche Sicherheitslücken übersehen. Beide Ergebnisse verursachen Kosten. False Positives verschwenden Entwicklerzeit bei der Jagd nach Phantom-Bugs, während False Negatives echte Schwachstellen in die Produktion durchrutschen lassen. Genau diese Lücke soll ARQ schließen, und das erklärt, warum die CodeQL-Schwachstellenerkennung ein aktives Forschungsfeld geblieben ist und kein gelöstes Problem.

ARQ-Framework: Automatisierte, aus Ausführungen abgeleitete Abfrageverfeinerung

ARQ ist ein agentenbasiertes Framework, das C/C++-CodeQL-Abfragen automatisch verbessert, indem es sie auf Ausführungsbelege stützt, die aus synthetisierten Programmen gewonnen werden, anstatt sich auf manuell gelabelte Beispiele oder handgefertigte Vorlagen zu verlassen. Dieser Unterschied ist wichtig, weil sich die meisten früheren Verfeinerungstechniken auf kuratierte Datensätze oder Commit-Historien stützten, die teuer zu erstellen und langsam zu pflegen sind.

Mechanismus zur Identifizierung von Abfrageschwächen durch Ausführungen synthetisierter Programme

Die zentrale Erkenntnis hinter ARQ ist einfach, aber wirkungsvoll: Ein synthetisiertes Programm legt eine Schwäche einer Abfrage offen, sobald seine tatsächliche Ausführung nicht mit dem übereinstimmt, was die Abfrage vorhersagt. Ist ein Programm tatsächlich verwundbar, aber die Abfrage bleibt stumm, liegt ein False Negative vor. Ist das Programm in Wirklichkeit sicher, wird aber dennoch von der Abfrage markiert, liegt ein False Positive vor. Damit verfügt ARQ über eine eingebaute, selbst erzeugte Ground Truth zur Beurteilung der Abfragequalität, ohne dass externe Label benötigt werden.

LLM-basierte iterative Verfeinerungsschleife ohne gelabelte Daten oder schwachstellenspezifische Vorlagen

Sobald eine Schwäche offengelegt ist, führt ARQ eine LLM-basierte iterative Schleife aus, die die Abfrage mithilfe dieser Ausführungsdifferenzen als Belege repariert. Dies ist der Teil der ARQ-Abfrageverfeinerung, der es von früheren Ansätzen unterscheidet. Es gibt keine Abhängigkeit von gelabelten Datensätzen, keine Notwendigkeit für Commit-History-Mining und keine schwachstellenspezifischen Vorlagen, die ins System eingebaut sind. Der Verfeinerungsprozess ist in sich geschlossen und wird vollständig durch die Diskrepanz zwischen vorhergesagtem und beobachtetem Verhalten in synthetisiertem Code angetrieben.

Bewertung und Auswirkungen der ARQ-Verfeinerungen auf CodeQL-Abfragen

Der Praxistest jedes Verfeinerungsframeworks ist, ob es die Erkennungsergebnisse tatsächlich verbessert, und die Ergebnisse von ARQ deuten darauf hin, dass dies in großem Umfang der Fall ist. Die Forscher verfeinerten 12 offizielle CodeQL-Abfragen und bewerteten die Verbesserungen anhand von zwei etablierten C/C++-Schwachstellendatensätzen, was den Ergebnissen einen aussagekräftigen Bezug zur bestehenden Forschung zur C/C++-statischen Analyse verleiht.

Verfeinerungsergebnisse mit GPT-5.4, Claude-Sonnet-4.6 und Gemini-3.5-flash

ARQ wurde mit drei kommerziellen Large Language Models getestet: GPT-5.4, Claude-Sonnet-4.6 und Gemini-3.5-flash. Jedes Modell trieb die iterative Verfeinerungsschleife unabhängig an, sodass die Forscher vergleichen konnten, wie sich verschiedene LLMs bei derselben zugrunde liegenden Aufgabe schlugen. Dieses Multi-Modell-Design stärkt das Vertrauen, dass die Verbesserungen aus der ARQ-Methodik selbst stammen und nicht aus Eigenheiten eines einzelnen Modells.

Leistungsverbesserungen auf den Benchmark-Datensätzen Juliet v1.3 und FormAI v2

Sowohl ARQ-verfeinerte als auch ursprüngliche CodeQL-Abfragen wurden auf den Datensätzen Juliet v1.3 und FormAI v2 verglichen, zwei anerkannten Benchmarks zur Bewertung von Schwachstellenerkennungstools. Die verfeinerten Abfragen erkannten deutlich mehr True Positives, mit einer Steigerung von bis zu 119,8 %, während die Präzision durchgehend bei mindestens 98,0 % lag. Diese Kombination ist bemerkenswert: Es ist relativ einfach, mehr True Positives zu erfassen, indem man die Erkennungskriterien lockert, aber das zieht in der Regel die Präzision nach unten, da mehr False Positives auftreten. Die ARQ-Ergebnisse zeigen das Gegenteil: Das Framework wirft nicht nur ein größeres Netz aus, es schärft das Netz selbst.

Lösung langjähriger GitHub-Issues und Entdeckung neuer Bugs in libpng und zlib

Über Benchmark-Zahlen hinaus lieferte ARQ konkrete Verbesserungen in der Praxis. Das Framework löste drei ungelöste GitHub-Issues im offiziellen CodeQL-Abfragerepository, Issues, die bis zu 27 Monate lang ohne Fix offen geblieben waren. Darüber hinaus legten die verfeinerten Abfragen zwei zuvor unentdeckte Bugs in libpng und zlib offen, zwei weit verbreiteten realen Bibliotheken. Das ist ein aussagekräftiges Signal: Es handelt sich nicht nur um eine akademische Übung mit besseren Zahlen auf einer Bestenliste, sondern um ein Werkzeug, das tatsächliche, zuvor unbekannte Sicherheitslücken in Software aufgedeckt hat, von der unzählige Anwendungen abhängen.

Warum das für die Softwaresicherheit wichtig ist

Die Auswirkungen reichen über CodeQL selbst hinaus. False Positives und False Negatives sind ein chronisches Problem im gesamten Bereich der statischen Analyse, nicht nur in einem einzelnen Tool, und jede Methode, die beide gleichzeitig reduziert, ohne gelabelte Daten oder handgefertigte Vorlagen zu benötigen, hat das Potenzial, zu beeinflussen, wie zukünftige Tools zur LLM-gesteuerten Abfrageverbesserung gebaut werden. Für Organisationen, die sich auf automatisiertes Scannen zur Absicherung von C/C++-Codebasen verlassen, könnte ein Framework, das die True-Positive-Erkennung steigert und gleichzeitig die Präzision über 98 % hält, weniger verschwendete Ingenieursstunden durch Fehlalarme und weniger unbemerkte echte Schwachstellen bedeuten.

Die Entdeckung neuer Bugs in libpng und zlib unterstreicht zudem etwas Wichtiges: Selbst reife, intensiv geprüfte Open-Source-Bibliotheken können noch unentdeckte Schwachstellen enthalten, und besser verfeinerte Erkennungsabfragen können sie finden, wo bestehende Tools versagt haben.

FAQ

Welches Problem soll ARQ bei der C/C++-Schwachstellenerkennung lösen?

ARQ adressiert False Positives und False Negatives in bestehenden CodeQL-Abfragen, indem es diese automatisch mithilfe von Ausführungsbelegen aus synthetisierten Programmen verfeinert.

Wie identifiziert ARQ Schwächen in CodeQL-Abfragen?

ARQ erkennt Abfrageschwächen immer dann, wenn die Ausführung eines synthetisierten Programms nicht mit dem Urteil der Abfrage übereinstimmt: Eine Diskrepanz signalisiert entweder ein False Positive oder ein False Negative.

Welche Rolle spielen Large Language Models in ARQ?

ARQ verwendet eine LLM-basierte iterative Verfeinerungsschleife, um Abfragen auf Basis von Ausführungsfeedback zu reparieren, ohne gelabelte Daten oder schwachstellenspezifische Vorlagen zu benötigen.

Welche greifbaren Verbesserungen zeigte ARQ bei der Verfeinerung von CodeQL-Abfragen?

ARQ-verfeinerte CodeQL-Abfragen steigerten die True-Positive-Erkennung um bis zu 119,8 % bei mindestens 98,0 % Präzision, behoben drei langjährige GitHub-Issues und deckten zwei neue Bugs in realen Bibliotheken auf.

{„@context“:“https://schema.org“,“@type“:“FAQPage“,“mainEntity“:[{„@type“:“Question“,“name“:“Welches Problem soll ARQ bei der C/C++-Schwachstellenerkennung lösen?“,“acceptedAnswer“:{„@type“:“Answer“,“text“:“ARQ adressiert False Positives und False Negatives in bestehenden CodeQL-Abfragen, indem es diese automatisch mithilfe von Ausführungsbelegen aus synthetisierten Programmen verfeinert.“}},{„@type“:“Question“,“name“:“Wie identifiziert ARQ Schwächen in CodeQL-Abfragen?“,“acceptedAnswer“:{„@type“:“Answer“,“text“:“ARQ erkennt Abfrageschwächen immer dann, wenn die Ausführung eines synthetisierten Programms nicht mit dem Urteil der Abfrage übereinstimmt: Eine Diskrepanz signalisiert entweder ein False Positive oder ein False Negative.“}},{„@type“:“Question“,“name“:“Welche Rolle spielen Large Language Models in ARQ?“,“acceptedAnswer“:{„@type“:“Answer“,“text“:“ARQ verwendet eine LLM-basierte iterative Verfeinerungsschleife, um Abfragen auf Basis von Ausführungsfeedback zu reparieren, ohne gelabelte Daten oder schwachstellenspezifische Vorlagen zu benötigen.“}},{„@type“:“Question“,“name“:“Welche greifbaren Verbesserungen zeigte ARQ bei der Verfeinerung von CodeQL-Abfragen?“,“acceptedAnswer“:{„@type“:“Answer“,“text“:“ARQ-verfeinerte CodeQL-Abfragen steigerten die True-Positive-Erkennung um bis zu 119,8 % bei mindestens 98,0 % Präzision, behoben drei langjährige GitHub-Issues und deckten zwei neue Bugs in realen Bibliotheken auf.“}}]}

Artikel mit Unterstützung künstlicher Intelligenz erstellt und von der Redaktion überprüft.

RELATED ARTICLES

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

Featured video

LATEST