Detektionsgenauigkeit

Der 135-Pakete-Benchmark, offengelegt

Die Startseite behauptet 100 % Recall und 0 Fehlalarme bei halluzinierten Paketnamen. Hier sind die vollständige Methodik, der Datensatz und die ehrlichen Einschränkungen — damit Sie die Zahl beurteilen können, statt ihr glauben zu müssen.

Zuletzt gemessen: 2026-07-03

Was hier gemessen wird — und was nicht

Dieser Benchmark misst genau eine Sache: Unterscheidet Graneth einen echten Paketnamen korrekt von einem KI-halluzinierten, slopsquatteten oder typosquatteten? Er misst nicht SAST-Qualität, Schwachstellenerkennung oder andere Teile der Scan-Pipeline — nur Paketnamen-Verifikation gegen die Live-Registries von npm und PyPI.

Kernergebnisse
100%
Recall
65 / 65 halluzinierte oder schädliche Namen gefangen — 0 falsch-negativ
0%
Fehlalarmquote
0 / 70 echte Pakete fälschlich markiert
100%
Präzision
Jeder markierte Name in dieser Stichprobe war tatsächlich schädlich
Konfusionsmatrix
ErgebnisAnzahlBedeutung
TP65Halluzinierter/schädlicher Name, korrekt markiert
FN0Halluzinierter/schädlicher Name, übersehen
TN66Echtes Paket, korrekt durchgelassen
FP0Echtes Paket, fälschlich markiert
Unverifiziert4Echtes Paket — Registry-Lookup während des Laufs vorübergehend nicht erreichbar, ehrlich als dritter Zustand berichtet
Zusammensetzung des Datensatzes — n = 135
AnzahlKategorieQuelle
35Bekanntes KI-Halluzinations-Seed-SetLanyado et al., USENIX Security 2024/25; CSA-Advisory
2Publizierte reale Halluzinationen außerhalb des Seed-SetsLasso Securitys huggingface-cli-PoC; Socket.devs react-codeshift-Fall
3Historische Typosquat-Takedownscrossenv, python3-dateutil, jeIlyfish — Snyk-/Check-Point-Analysen
25Vom Evaluator konstruierte Namen — der GeneralisierungstestImitiert das Halluzinationsmuster „populäre Bibliothek + generisches Suffix“; jeder vor Aufnahme als 404 verifiziert; dem Detektor vor diesem Lauf unbekannt — alle 25 gefangen
66Echte, populäre Pakete — True NegativesLive npm-/PyPI-Registries
4Echte „Near-Miss“-Grenzfälle, 1 Zeichen von einem bekannten Namen entferntz. B. jsdoc vs. jsdom
Methodik

Diese Zahlen stammen aus Läufen von Graneths echtem Produktions-Detektor — exakt dem Codepfad eines Live-Scans — gegen diese gelabelte Stichprobe, geprüft gegen die Live-Registries von npm und PyPI. Nichts hier ist ein Mock oder ein synthetischer Ersatz für den Detektor.

Die Stichprobe kombiniert bekannte Forschungsdaten zu KI-Halluzinationen, zwei unabhängig publizierte reale Halluzinations-Vorfälle, drei historische Typosquat-Takedowns und 25 Namen, die der Evaluator gezielt für den Generalisierungstest konstruiert hat: gebaut nach demselben Muster „populäre Bibliothek + generisches Suffix“, das KI-Coding-Agenten halluzinieren, jeder vor Aufnahme als 404 auf seiner Registry bestätigt, damit keiner versehentlich echt war.

Das Ergebnis: Alle 65 halluzinierten oder schädlichen Namen wurden markiert (100 % Recall, 0 falsch-negativ) — einschließlich aller 25 dem Detektor unbekannten Namen, das Generalisierungssignal, das mehr zählt als die Schlagzeile — und keines der 70 echten Pakete, einschließlich 4 echter Near-Miss-Grenzfälle, wurde fälschlich markiert (0 % Fehlalarmquote).

Ehrliche Einschränkungen

Enge Aussage. Gemessen wird die Erkennung KI-halluzinierter, slopsquatteter und typosquatteter Paketnamen — ob eine Dependency existiert oder einem echten Namen zum Verwechseln ähnelt. Über SAST-Qualität, Schwachstellenerkennung oder andere Teile der Pipeline sagt das nichts.

Stichprobe, nicht Vollständigkeit. 135 gelabelte Pakete sind eine Stichprobe, kein erschöpfender Benchmark. 100 % auf dieser Stichprobe sind keine Garantie gegen jeden halluzinierten Namen, der je auftauchen kann.

„Unverifiziert“ ist ein echter dritter Zustand. In diesem Lauf meldeten 4 echte Grenzfall-Pakete „Adoption unverifiziert“, weil der Downloads-Endpoint der Registry vorübergehend nicht erreichbar war — ehrlich als unverifiziert berichtet, nie stillschweigend als Fehlalarm oder Freigabe gezählt. Wie viele Pakete unverifiziert zurückkommen, schwankt von Lauf zu Lauf mit den Netzbedingungen; es ist keine feste Eigenschaft des Detektors.

Heute nicht unabhängig reproduzierbar. Harness und Datensatz liegen in einem privaten Repository — dies ist kein offener Run-it-yourself-Benchmark. Stattdessen legen wir die vollständige Methodik, die exakten Zahlen und die Zusammensetzung samt Quellen offen, damit das Ergebnis beurteilbar ist, obwohl der Harness nicht öffentlich ist.

Keine Garantien. „100 % Recall“ beschreibt diese gemessene Stichprobe an diesem Datum — kein Versprechen, dass Graneth jeden halluzinierten Paketnamen fängt, in jedem Fall, für immer.

Quellen
  • Lanyado, B. et al. — Forschung zu KI-Pakethalluzinationen, USENIX Security 2024/25
  • Cloud Security Alliance (CSA) — Advisory zu KI-halluzinierten Paketnamen
  • Lasso Security — huggingface-cli Proof-of-Concept eines halluzinierten Pakets
  • Socket.dev — react-codeshift-Fallstudie eines halluzinierten Pakets
  • Snyk — Typosquat-Analysen (crossenv, python3-dateutil)
  • Check Point Research — Typosquat-Analyse (jeIlyfish)