Open-Source Intelligence for Code Provenance and the Security Patterns that Separate Human and Large-Language-Model Implementations of Common Programming Tasks
Dieses Paper präsentiert eine vollständig reproduzierbare Open-Source-Pipeline, die demonstriert, dass die Provenienz von Code-Snippets mit hoher Genauigkeit zwischen menschlichem und Large-Language-Model-Ursprung unterschieden werden kann, während sie gleichzeitig konsistente Divergenzen in Sicherheitsmustern über mehrere Programmiersprachen hinweg aufdeckt und spezifische Fehlermodi bei modellgesteuerten Schwachstellenreparaturen hervorhebt.
Originalarbeit lizenziert unter CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Dies ist eine KI-generierte Erklärung des untenstehenden Papers. Sie wurde nicht von den Autoren verfasst oder gebilligt. Für technische Genauigkeit konsultieren Sie das Originalpaper. Vollständigen Haftungsausschluss lesen
Stellen Sie sich vor, Sie sind ein Detektiv, der versucht, ein Rätsel zu lösen: Wer hat diesen Code geschrieben? War es ein menschlicher Entwickler, der durch Foren wie Stack Overflow scrollte, oder eine Large Language Model (LLM), die in Sekundenschnelle eine Antwort ausspuckte? Und noch wichtiger: Ist der Code sicher?
Dieses Paper ist wie eine riesige Open-Source-Untersuchung, bei der die Forscher einen „Code-Zoo“ eingerichtet haben. Sie baten 9 verschiedene KI-Modelle und echte menschliche Entwickler, 31 knifflige Sicherheitsrätsel zu lösen – von der Sicherung von Passwörtern bis hin zum Aufbau sicherer Logins. Dann analysierten sie die Ergebnisse, um zu sehen, ob sie die „Arten“ allein durch den Blick auf die DNA des Codes unterscheiden konnten.
Hier ist das, was sie herausgefunden haben, serviert mit einer Prise Detektivarbeit.
Der große Identitätswechsel: Können Sie KI von Mensch unterscheiden?
Das Ergebnis: Ja, das können Sie.
Die Forscher bauten einen Klassifikator (eine intelligente Sortiermaschine), der auf die „Form“ des Codes achtete, statt nur auf dessen Sicherheit. Es ist, als würde man versuchen zu unterscheiden, ob ein Gemälde von einem menschlichen Künstler oder einem Roboter stammt, indem man auf die Pinselstriche achtet und nicht auf das Motiv.
- Die Punktzahl: Die Maschine lag in 93 % der Fälle richtig, wenn sie „Mensch vs. KI“ erraten musste, und schlug damit die Baseline eines Zufallstreffers von 78 %.
- Der „Fingerabdruck“: Es waren nicht die Sicherheitsgeheimnisse, die sie entlarvten, sondern der Stil.
- KI-Code ist wie ein übervorsorglicher Koch: Er ist riesig (durchschnittlich 1.801 Zeichen im Vergleich zu den 552 des Menschen), trägt eine volle Schürze (viel Fehlerbehandlung und Imports) und versucht, eine vollständige, ausführbare Mahlzeit zu servieren.
- Menschlicher Code ist wie ein schneller Snack: Er ist kürzer, dichter und setzt oft voraus, dass die Küche bereits eingerichtet ist. Er ist ein „Snippet“ (Schnipsel) statt eines vollständigen Programms.
Die Wendung: Während die KI leicht als „KI“ zu erkennen ist, ist es viel schwieriger, zu bestimmen, welche spezifische KI sie geschrieben hat. Als die Forscher versuchten zu erraten, welches der 9 Modelle einen bestimmten Code geschrieben hatte, erreichten sie nur eine Genauigkeit von 48 % (im Vergleich zu einer Baseline von 17 %). Es ist wie das Erkennen einer menschlichen Stimme leicht ist, aber genau zu identifizieren, welcher deiner 9 Freunde gerade spricht, ohne ihn zu sehen, ein schwieriges Spiel. Zudem ändert sich diese „Stimme“ je nach Sprache; ein Klassifikator, der auf Python-Code trainiert wurde, wird verwirrt, wenn er JavaScript sieht.
Das Sicherheits-Duell: Wer ist sicherer?
Das Ergebnis: Die KI ist im Allgemeinen sicherer, hat aber eine seltsame Schwachstelle.
Die Forscher maßen, wie oft der Code gute Sicherheitspraktiken (wie starkes Passwort-Hashing) gegenüber schlechten Praktiken (wie der Verwendung schwacher Passwörter) anwandte.
- Die Punktzahl: Die KI-Modelle erreichten 0,40 auf ihrer Sicherheitsskala, während die menschlichen Antworten von Stack Overflow nur 0,12 erreichten.
- Warum die KI gewinnt: Die KI scheint die „neueren“ Regelbücher gelesen zu haben. Sie weiß, wie man modernes, starkes Passwort-Hashing verwendet und Algorithmen für Sicherheitstoken festlegt. Die menschlichen Antworten, von denen viele alt und hoch bewertet sind, verwenden oft veraltete, riskante Methoden, die vor Jahren zwar üblich waren, heute aber als gefährlich gelten.
- Der fatale Fehler der KI: Die KI ist so bestrebt, „hilfreich“ und vollständig zu sein, dass sie sich manchmal selbst in eine Falle lockt. Wenn sie gebeten wird, ein vollständiges Programm zu schreiben, füllt die KI den „Geheimschlüssel“ oft mit einem Platzhalter auf (wie
client_secret = "your-secret-key"). Wenn ein Entwickler diesen Code kopiert, ohne diesen Platzhalter zu ändern, steht die App sperrangelweit offen. Menschen, die kürzere Snippets schreiben, lassen den Geheimschlüssel oft leer, was den Leser dazu zwingt, ihn sicher selbst einzufüllen.- Das Urteil: Menschen scheitern, weil sie alte Gewohnheiten nutzen. KI scheitert, weil sie versucht, zu vollständig zu sein.
Der „Reparatur“-Test: Kann KI ein Loch stopfen?
Die Forscher spielten auch ein Spiel: „Hier ist ein kaputter, unsicherer Code. Bitte repariere ihn.“
- Die Punktzahl: Die KI schaffte es in 77 % der Fälle, den Code zu reparieren.
- Die Falle: In 16 % der Fälle führte die KI eine „Teilreparatur“ durch. Sie entfernte den schlechten Teil (wie ein schwaches Passwort-Hashing), vergaß aber, den guten Teil hinzuzufügen (wie ein starkes Passwort-Hashing). Es ist, als würde ein Mechaniker die rostigen Bremsen eines Autos ausbauen, aber vergessen, neue einzubauen. Das Auto sieht „repariert“ aus, weil der Rost weg ist, aber es ist immer noch gefährlich.
Das Fazit
Diese Studie beweist, dass Provenienz (das Wissen darüber, woher Code kommt) möglich und nützlich ist.
- Wenn Sie Code sehen, der lang, strukturiert und voller Fehlerbehandlung ist, handelt es sich wahrscheinlich um KI. Prüfen Sie ihn auf hartcodierte Geheimnisse (Platzhalter, die nicht geändert wurden).
- Wenn Sie Code sehen, der kurz, dicht und mit älteren Bibliotheken ist, handelt es sich wahrscheinlich um einen Menschen. Prüfen Sie ihn auf veraltete Sicherheitspraktiken (wie schwache Passwörter oder offene Türen).
Die Forscher haben nicht nur geraten; sie haben eine vollständig reproduzierbare Pipeline erstellt, die ausschließlich öffentliche Daten nutzt. Sie haben die Ergebnisse nicht simuliert; sie haben sie an 528 echten Code-Proben gemessen. Sie haben nicht behauptet, dass KI „perfekt sicher“ ist (das ist sie nicht); sie haben lediglich gezeigt, dass KI und Menschen an unterschiedlichen Stellen scheitern. Zu wissen, welche Quelle man vor sich hat, verrät einem genau, welches Sicherheitsnetz man prüfen muss.
Ertrinken Sie in Arbeiten in Ihrem Fachgebiet?
Erhalten Sie tägliche Digests der neuesten Arbeiten passend zu Ihren Forschungsbegriffen — mit technischen Zusammenfassungen, in Ihrer Sprache.