Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
linux-kernel-codex-harness-v2 — Provenance-bewusster Linux-Kernel-Schwachstellenforschungs-Harness, der bei der Untersuchung von CVE-2026-53075 verwendet wird. | Kitploit
Tools/GitHubGitHub/foxirain/linux-kernel-codex-harness-v2
Statische AnalyseSchwachstellenanalyseBedrohungsanalyseKI-Sicherheit
GitHubfoxirain/linux-kernel-codex-harness-v2

linux-kernel-codex-harness-v2

Provenance-bewusster Linux-Kernel-Schwachstellenforschungs-Harness, der bei der Untersuchung von CVE-2026-53075 verwendet wird.

Repository anzeigen

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
1vor 23 TagenNoch nicht geprüft
Teilen

Kernel Codex Harness v2

한국어 | English

CI

Forschungswerkzeug · Originalimport: 3. April 2026 · v2-Dokumentationsrevision: 11. Juli 2026

Externes Signal: Von der Aufmerksamkeitsverteilung zum Provenienz-bewussten Triage
Reproduzierbare Beobachtungen nutzen, um die Modellaufmerksamkeit zu lenken, und anschließend die Repository-Provenienz nutzen, um Review-Warteschlangen zu organisieren – niemals, um einen Beweis zu beanspruchen.

Projektlinie— Kernel Codex Harness v1 · Aufmerksamkeitsverteilung → Kernel Codex Harness v2 · Provenienz-bewusstes Triage

Projektstatus. Dieses Repository ist ein LLM-gestützter Forschungs-Harness, der den Attention-Allocation-Workflow von v1 für reale Linux-Kernel-Schwachstellenuntersuchungen zu einem Provenienz-bewussten Triage weiterentwickelt. Diese Version wurde verwendet, um die als CVE-2026-53075 veröffentlichte Schwachstelle zu finden. Es ist kein automatischer Schwachstellendetektor, kein Neuheitsbewerter, kein Exploit-Verifizierer und kein Kernel-Sicherheitsgarantie-Werkzeug; die endgültige Validierung und Berichterstattung erfolgt durch Menschen.

Abstract

Abstract— Wenn man LLMs eine so große Codebasis wie den Linux-Kernel direkt durchsuchen lässt, wird der Kontext zerstreut und die Existenz gefährlicher APIs wird leicht mit tatsächlicher Ausnutzbarkeit verwechselt. Kernel Codex Harness v2 definiert dieses Problem als zweistufige Externe-Signal-Verarbeitung. Vor dem Modellaufruf werden Kandidatendateien anhand von Pfadgewichten, lexikalischen Treffern und gecachtem syzbot-Overlap priorisiert, um die Aufmerksamkeit zu verteilen. Nach der Modellantwort werden Git-Branch, HEAD und Dirty-State mit aus der Antwort extrahierten CVE-, Commit- und bekannten Markern kombiniert, um starke Befunde in Provenienz-bewusste Review-Buckets zu klassifizieren. Dieser Harness wurde in einer realen Linux-Kernel-Untersuchung verwendet, um einen Validierungsfehler der Ziel-Netzwerk-Namespace-Berechtigung von PPP zu finden, der als CVE-2026-53075 veröffentlicht wurde. Triage ist eine Heuristik zur Organisation von Untersuchungswarteschlangen; insbesondere bedeutet new_candidate nur, dass keine bekannten Hinweise oder Provenienzprobleme gefunden wurden, nicht einen Neuheitsbeweis. Alle Befunde erfordern eine menschliche Revalidierung von Userspace-Erreichbarkeit, Invariantenbruch und konkreter Auswirkung.

Indexbegriffe— Linux-Kernel, Schwachstellenforschung, externes Signal, Provenienz, heuristisches Triage, LLM-Orchestrierung, syzbot, Codex.

I. Einleitung

Die Sicherheitsüberprüfung des Kernels umfasst zwei verschiedene Arten von Unsicherheit.

  1. Wo man zuerst hinschauen sollte. Der gesamte Quellbaum ist zu groß, um in einem einzigen Modellkontext behandelt zu werden.
  2. Wie man mit starken Befunden des Modells umgeht. Lokale Änderungen, bestehende Fixes, bekannte CVEs oder ein unvollständiger Repository-Zustand können die Schlussfolgerungen verfälschen.

Das zentrale Problem von v1 war das erste, nämlich die Aufmerksamkeitsverteilung. v2 behält dieses Prinzip bei und erweitert das zweite Problem um ein Provenienz-bewusstes Triage. Beide Versionen wurden jeweils in realen Untersuchungen eingesetzt; die v1-gestützte Untersuchung führte zu CVE-2026-31720, die v2-gestützte Untersuchung zu CVE-2026-53075.

Beobachtungen außerhalb des Modells grenzen den Untersuchungsumfang ein, und nach der Modellantwort wird eine verifizierbare Repository-Provenienz hinzugefügt. Kein Signal in irgendeiner Phase beweist eine Schwachstelle oder Neuheit.

II. Externes Signal und Designprinzipien

A. Stufe 1 — Aufmerksamkeitsverteilung vor der Inferenz

Pre-Inferenz-Externe-Signale sind Beobachtungen, die vor der Modellausführung berechnet werden, nicht LLM-Urteile.

  • Kernel-Pfade und Subsystem-Gewichte
  • Lexikalische Treffer wie usercopy, allocator, refcount, size, lock
  • Datei-/Subsystem-Overlap aus gespeicherten syzbot-JSON-Daten

Mit demselben Quellbaum, Profil und gecachten syzbot-JSON-Daten kann das Kandidaten-Ranking neu berechnet werden. Diese Punktzahl ist keine Wahrscheinlichkeit oder Ausnutzbarkeit, sondern eine relative Reihenfolge, wo man zuerst hinschauen sollte.

B. Stufe 2 — Provenienz-bewusstes Triage nach der Inferenz

Die Post-Inferenz-Phase kombiniert ein starkes Modellurteil mit den folgenden Informationen.

  • Ob es sich um ein Git-Repository handelt und ob die Status-Erfassung erfolgreich war
  • Branch und HEAD
  • Dirty-State des Repositorys und der Zieldatei
  • Aus der Antwort extrahierte CVE-, Commit-Hash- und bekannte Issue-Marker
  • In der Antwort erscheinende Negations- oder Nicht-verwandte-Referenz-Ausdrücke

In diesem Dokument bezieht sich Post-Inferenz-Externes Signal nur auf Provenienz, die unabhängig vom Modell gesammelt wurde, wie Git-Repository/Status, Branch, HEAD, Dirty-State und lokale Commit-Abstammung. CVE-, Commit- und bekannte Marker sind modellabgeleitete Referenzen, die aus der Modellantwort extrahiert wurden, und kein externes Signal oder autoritative Tatsache. Triage kombiniert beide Arten von Eingaben, zeichnet aber deren Quellen getrennt auf.

C. Heuristische Buckets, kein Neuheitsbeweis

Starke Befunde werden betrieblich in einen der folgenden Review-Buckets eingeordnet.

BucketBedeutung
new_candidateKandidat, dessen Provenienz bestätigt wurde und bei dem keine Dirty-/bekannten Blockiersignale gefunden wurden
known_issueKandidat mit nicht-negierter bekannter Referenz oder bestätigtem Commit, den die Antwort als Fix/Upstream-Beziehung identifiziert und der im aktuellen HEAD enthalten ist
dirty_tree_suspectKandidat, bei dem der Einfluss eines Dirty-Repositorys oder Dirty-Ziels nicht ausgeschlossen werden kann
provenance_unknownKandidat, dessen Git-Repository, Status oder HEAD nicht zuverlässig verifiziert werden konnte

novelty_proven ist für alle Klassifizierungsergebnisse false. new_candidate bedeutet nicht „neue Schwachstelle“, sondern eine Warteschlange, in der Menschen zuerst die Neuheitsuntersuchung fortsetzen sollten.

D. Erreichbarkeit vor Bug-Klasse

Die Prüfung identifiziert zuerst Grenzen, die vom Userspace ausgehen, wie syscall, ioctl, netlink, procfs, Dateisystem, BPF und Driver-Hooks. Erst danach werden Bug-Klassen wie UAF, OOB, refcount, race, info leak und capability check bewertet.

E. Ein Untersuchungszweig nach dem anderen

Eine Untersuchungseinheit ist auf eine Datei und deren nahe Caller-, Teardown- und Free-Pfade beschränkt. Manuelle Follow-ups, die das Modell vorschlägt, sind auf maximal zwei begrenzt, um einen verifizierbaren kurzen Pfad statt einer breiten Erkundung beizubehalten.

F. Beweise vor Vertrauen

Ein starker Befund muss mindestens Folgendes erklären.

  1. einen für Angreifer erreichbaren Entrypoint,
  2. ein angreiferkontrolliertes Feld oder einen Lifetime-Übergang,
  3. eine gebrochene Objekt-, Längen- oder Zustandsinvariante,
  4. eine konkrete Auswirkung wie Korruption, Leck oder Privilegieneskalation,
  5. warum bestehende Checks den Angriff nicht verhindern.

Der Parser normalisiert nur Urteil und nächstes Ziel; er beweist nicht automatisch die Vollständigkeit dieser Beweise.

G. Design-Abstammung

Der anfängliche Ablauf stammt aus der Idee der dateibasierten Analyse, des begrenzten Kontexterweiterung und der strukturierten Ergebnisse, die Protect AIs vulnhuntr verwendet [1]. In diesem Projekt wurde dies für die userspace-erreichbare Kernel-Oberfläche, die Kernel-Objekt-Lebensdauer, Teardown-Pfade und syzbot-Overlap neu gestaltet. Der zusätzliche Beitrag von v2 ist die Platzierung einer Finding-Triage-Stufe auf Basis der Repository-Provenienz nach der Aufmerksamkeitsverteilung.

III. Systemarchitektur

Zweistufige Externe-Signal-Architektur für Kernel Codex Harness v2

Abb. 1. Pre-Inferenz-Externe-Signale ordnen reproduzierbare Untersuchungseinheiten. Post-Inferenz-Triage kombiniert modellunabhängige Git-Provenienz mit modellabgeleiteten Antwortreferenzen, ohne letztere als externes Signal oder autoritative Tatsache zu behandeln. Die menschliche Validierung bleibt außerhalb beider automatisierter Stufen.

TABELLE I — HAUPTMODULVERANTWORTLICHKEITEN

ModulVerantwortlichkeit
targeting.pyKernel-Dateisuche und Bewertung von Pfad-, Lexikal- und syzbot-Signalen
models.pyCandidate, Signal, syzbot-abgeleitetes ExternalSignal
bundle.pyManifest-, Sitzungsindex-, Prompt-/Snippet-Bundle-Erstellung
prompting.pyKernel-Prüf-Prompts mit Fokus auf Erreichbarkeit und Invarianten
session.pySpeicherung von ausstehenden Reviews, Verlauf und Follow-up-Tiefe
ingest.pyNormalisierung von striktem Urteil und einzelnem nächsten Ziel
repo_state.pyErfassung von Git-Branch, HEAD, Status, Dirty-Pfad und Abstammung
finding_triage.pyHeuristische Bucket-Klassifizierung basierend auf Provenienz und bekannten Referenzen
autopilot.pyZeitbudget-basierte Codex-Ausführung, Ingest, Archivierung und Finding-Protokollierung
syzbot.pyErfassung öffentlicher syzbot-HTML-Seiten und Erstellung lokaler JSON-Caches
cli.pyVerbindung der Befehle scan/review/doctor/autopilot

IV. Methodik

A. Kandidatenfindung und Bewertung

Der Scanner durchläuft .c- und .h-Dateien unter den Include-Verzeichnissen des Profils.

root@kitploit:~
Score(f) = Σ path_weight(f)
         + Σ line_signal_weight(f)
         + Σ syzbot_overlap_weight(f)

Die aktuelle Implementierung summiert Zeilenebenen-Treffer und begrenzt nur die Anzahl der Top-Signale, die im Prompt angezeigt werden. Die Punktzahl bestimmt die Untersuchungsreihenfolge des Modells, ist aber kein statistischer Wert, der die Schwachstellenwahrscheinlichkeit kalibriert.

Die wichtigsten statischen Signale sind:

  • ioctl, compat handler, Dateioperationen-Hooks
  • copy_from/to_user und __user
  • kmalloc/kzalloc/kvmalloc, Cache-Allokation und Free-Pfade
  • refcount, atomic, kref
  • Größen-/Längenberechnungen und memcpy-Familien
  • lock, RCU, asynchrone Lebensdauer
  • BPF, skb, XDP, netlink
  • Capability- und Namespace-Checks

B. Profilgesteuerter Umfang

ProfilFokus
defaultStartpunkte in kernel/mm/net/fs/security/io_uring/lib/drivers
netnetlink, socket, skb, XDP
fsioctl, procfs, seq_file, debugfs
io_uringAsynchrone Request-Lebensdauer und Teardown
bpfVerifier, Map-/Programm-Lebensdauer, BTF
driversioctl, DMA, MMIO und Driver-Teardown

C. Crash-Intelligenz

syzbot-fetch extrahiert Titel, Subsystem, Bug-Typ und Datei:Zeile aus öffentlichen syzbot-Bug-Seiten und speichert sie als JSON. Exakter Datei-Overlap ist ein starkes Ranking-Signal, Subsystem-Overlap ein schwaches Signal. Da das Live-Dashboard variieren kann, ist die reproduzierbare Einheit das zum Abrufzeitpunkt gespeicherte JSON. Crash-Overlap ist ein Hinweis für die Variantenjagd, kein Schwachstellenbeweis.

D. Sitzungs- und Review-Vertrag

scan erstellt ein vollständiges, sortiertes Kandidaten-Manifest und ein Top-Prompt-Bundle. --limit ist die Anzahl der Kandidaten, die im Manifest verbleiben, und --top die Anzahl der vorab erstellten Bundles. Weitere Ränge können bei Bedarf erstellt werden.

Die Modellantwort wird in eines der folgenden Urteile normalisiert.

  • cve_candidate
  • plausible_security_bug
  • latent_bug
  • not_cve_candidate
  • needs_more_context

Manuelles Review und Autopilot verwenden dieselbe review_state.json, denselben festen Antwortpfad und denselben Urteils-Parser.

E. Provenienzerfassung und Triage

doctor und Autopilot prüfen, ob ein Git-Repository vorhanden ist, ob die Status-Erfassung erfolgreich war, sowie Branch, HEAD und Dirty-Pfade. Zustände, in denen die Provenienz nicht bestätigt werden kann, werden nicht als sauber betrachtet, sondern als provenance_unknown beibehalten.

Das Triage starker Urteile folgt ungefähr der folgenden Priorität.

  1. Wenn die Provenienz nicht vertrauenswürdig ist, dann provenance_unknown,
  2. Wenn das Repository oder Ziel dirty ist, dann dirty_tree_suspect,
  3. Wenn eine verwandte CVE oder ein nicht-negierter Marker vorhanden ist oder ein Commit, das die Antwort als Fix/Upstream-Beziehung identifiziert, ein Vorfahre des aktuellen HEAD ist, dann known_issue,
  4. Andernfalls new_candidate.

Negations- oder Nicht-verwandte-Ausdrücke wie „kein bekanntes Problem“ oder „nicht verwandt mit CVE-…“ werden nicht als bekannte Grundlage verwendet. Die endgültige Entscheidung enthält zusammen mit dem ursprünglichen Urteil Branch, HEAD, Status, Dirty-State, übereinstimmende Referenz und Grund.

Die aktuelle Provenienz-bewusste Bucket-Klassifizierung und der JSONL-Writer werden auf den Autopilot-Ingest-Pfad angewendet. Manuelle loop- und ingest-Befehle verwenden denselben zugrunde liegenden Sitzungszustand und Urteils-Parser, erstellen jedoch keine Bucket-Artefakte.

V. Implementierung und Verwendung

A. Anforderungen

  • Python 3.11 oder höher
  • Linux-Kernel-Quellbaum
  • Git für die Verwendung von provenance/doctor/autopilot
  • Codex CLI und Authentifizierung für die Verwendung von autopilot [3]
  • Netzwerkverbindung für die Remote-syzbot-Erfassung

Die Python-Laufzeitabhängigkeiten umfassen nur die Standardbibliothek.

B. Installation

root@kitploit:~
git clone https://github.com/foxirain/linux-kernel-codex-harness-v2.git
cd linux-kernel-codex-harness-v2

python3 -m venv .venv
source .venv/bin/activate
python -m pip install .
kernel-harness --help

Die integrierten Profil-JSON-Dateien sind im Wheel enthalten. Zusätzliche Regeln können mit --config /path/to/profile.json übergeben werden.

C. Minimaler Workflow

root@kitploit:~
# 1. Repository-Provenienz verifizieren.
kernel-harness doctor /path/to/linux

# 2. Eine sortierte Sitzung erstellen.
kernel-harness scan /path/to/linux \
  --profile net \
  --limit 80 \
  --top 20 \
  --out artifacts

# 3. Ein fokussiertes Review inspizieren und rendern.
kernel-harness inspect artifacts/session-YYYYMMDDTHHMMSSZ --top 10
kernel-harness codex artifacts/session-YYYYMMDDTHHMMSSZ \
  --rank 1 \
  --include-snippet

Manuelle Codex-Antworten werden in der vom Runbook festgelegten Datei codex_response.txt gespeichert und können dann mit dem folgenden Befehl übernommen werden.

root@kitploit:~
kernel-harness loop artifacts/session-YYYYMMDDTHHMMSSZ --include-snippet
kernel-harness status artifacts/session-YYYYMMDDTHHMMSSZ

D. Zeitbudgetierter Autopilot

root@kitploit:~
kernel-harness autopilot artifacts/session-YYYYMMDDTHHMMSSZ \
  --duration 30m \
  --per-run-timeout 10m \
  --include-snippet \
  --require-clean-tree \
  --stop-on-finding

Der Codex-Sandbox-Standardwert ist read-only. --require-clean-tree erlaubt die Ausführung nur, wenn Git-Repository, Status und HEAD bestätigt sind und der Arbeitsbaum sauber ist. --stop-on-finding stoppt nur, wenn das heuristische Triage-Ergebnis new_candidate ist.

E. Optionaler syzbot-Feed

root@kitploit:~
kernel-harness syzbot-fetch https://syzkaller.appspot.com/upstream \
  --out artifacts/syzbot/upstream.json \
  --limit 50

kernel-harness syzbot-stats artifacts/syzbot/upstream.json --top 15

kernel-harness scan /path/to/linux \
  --profile fs \
  --syzbot-json artifacts/syzbot/upstream.json \
  --out artifacts

F. Sitzungsartefakte

root@kitploit:~
artifacts/session-<timestamp>/
├── SESSION.md
├── targets.json
├── finding_template.json
├── review_state.json
├── codex_response.txt              # vorhanden, wenn eine Antwort aussteht
├── bundles/
├── responses/
└── autopilot/
    ├── AUTOPILOT_STATUS.txt
    ├── AUTOPILOT_PROGRESS.txt
    ├── AUTOPILOT_BASELINE.json
    ├── AUTOPILOT_FINDINGS.txt
    ├── AUTOPILOT_FINDINGS_NEW.txt
    ├── AUTOPILOT_KNOWN_ISSUES.txt
    ├── AUTOPILOT_SUSPECTS.txt
    ├── AUTOPILOT_PROVENANCE_UNKNOWN.txt
    ├── AUTOPILOT_FINDINGS.jsonl
    ├── prompts/
    ├── exec/
    ├── parse_errors/
    └── findings/
        ├── new/
        ├── known/
        ├── suspects/
        └── unknown/

AUTOPILOT_FINDINGS.jsonl bewahrt Urteil, Bucket, Grund, Branch, HEAD, Provenienzstatus, übereinstimmende Referenz sowie Finding-/Archivpfade in einer nachverarbeitbaren Form.

VI. Betriebsergebnis und Verifizierung

v2 wurde mit der erweiterten Struktur auf eine reale Linux-Kernel-Schwachstellenuntersuchung angewendet.

TABELLE II — VERÖFFENTLICHTES SCHWACHSTELLENERGEBNIS

Öffentliches ErgebnisBetroffener BereichSchweregrad / CVSSSchwachstelleUntersuchungsmodell
CVE-2026-53075PPP · drivers/net/ppp/ppp_generic.cHoch 8.8 · CVSS 3.1 (Linux CNA)Nicht zugeordnete administrative ioctls entbehrten einer CAP_NET_ADMIN-Prüfung gegen den Benutzer-Namespace, der den Ziel-Netzwerk-Namespace besitztBefund während einer v2-gestützten Untersuchung aufgetaucht; Validierung und Offenlegung blieben menschengeführt
CVSS-Quelle (geprüft am 09.08.2026)
  • CVE-2026-53075: Linux-CNA-CVE-Datensatz · CVSS 3.1 · 8.8 Hoch · CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H
  • Die offiziell veröffentlichte Punktzahl und der Vektor wurden übernommen und nicht neu berechnet.

Die 16 Regressionstests konzentrieren sich nicht auf einen Benchmark zur Genauigkeit der Sicherheitserkennung, sondern auf Softwareverträge und Bereitstellbarkeit.

  • Allocator- und integrierte Profilressourcen-Regressionen
  • Sicherstellung, dass negative Urteile und CVE-Ausdrücke in allgemeiner Prosa nicht zu starken Befunden umgekehrt werden
  • Begrenzung manueller Follow-ups und Rangfolge
  • Archivierung veralteter Antworten ohne ausstehende Ziele
  • Read-only-Sandbox-Standardwert und positive CLI-Argumente
  • Fail-closed-Provenienz bei fehlendem/Nicht-Git/Statusfehler
  • Triage von Dirty-Zielen, bekannten Referenzen, Negation und nicht verwandten CVEs
  • Sitzungsverlauf und JSONL-Erhaltung von Klassifizierungsmetadaten
  • Parse-Fehler- und Finding-Artefaktverträge
  • Profil-Scan-Smoke-Test aus installiertem Wheel
root@kitploit:~
python -m unittest discover -s tests -v
python -m pip wheel . --no-deps --wheel-dir dist
python -m pip install --force-reinstall dist/*.whl

GitHub Actions führt Regressionstests unter Python 3.11 und 3.12 aus, installiert das Wheel und führt einen Smoke-Test der 6 paketierten Profile und des Standard-Scans durch. Das obige öffentliche Beispiel ist ein betriebliches Ergebnis aus einer realen Untersuchung, aber kein Benchmark für Precision, Recall, Ausnutzbarkeit oder CVE-Entdeckungsrate, gemessen an einem repräsentativen Linux-Baum-Korpus.

VII. Sicherheitshinweise

  • Der Codex-Sandbox-Standardwert ist read-only und es wird empfohlen, ihn beizubehalten.
  • Wenn saubere Provenienz wichtig ist, verwenden Sie nach doctor die Option --require-clean-tree.
  • Interpretieren Sie Nicht-Git- oder Status-/HEAD-Erfassungsfehler nicht als sauber.
  • --dangerously-bypass-approvals-and-sandbox sollte nur in isolierten Experimentierumgebungen verwendet werden.
  • Da Quellkommentare und Bezeichner ebenfalls Modelleingaben sind, berücksichtigen Sie die Möglichkeit von Prompt-Injection.
  • CVE- und Commit-Strings sind nur Antwortreferenzen, keine autoritativen Bestätigungen.
  • Vor der Offenlegung oder Berichterstattung eines Befunds müssen Menschen Erreichbarkeit, Invariante, Auswirkung und betroffene Version erneut validieren.

VIII. Einschränkungen und Gültigkeitsbedrohungen

  1. Lexikalische Analyse. Es wird kein echter C-AST, Call-Graph oder interprozeduraler Datenfluss erstellt.
  2. Punktzahlverzerrung. Kommentare, Makros, wiederholte Token und große Dateien können die Punktzahl übermäßig beeinflussen.
  3. Erreichbarkeitslücke. Kernel-Konfiguration, Privilegien, Namespaces und Geräteverfügbarkeit werden nicht automatisch modelliert.
  4. Fragilität externer Daten. Die syzbot-Integration ist von Änderungen an der öffentlichen HTML-Struktur betroffen.
  5. Nur lokale Provenienz. Die Git-Abstammung basiert auf dem HEAD des aktuellen Checkouts und repräsentiert nicht die gesamte Upstream- und Vendor-Historie.
  6. Antwortabgeleitete Referenzen. CVE- und bekannte Marker werden aus der Modellantwort extrahiert, daher sind Auslassungen, Halluzinationen und Kontextmissverständnisse möglich.
  7. Heuristisches Triage. Sowohl new_candidate als auch known_issue sind keine endgültigen Neuheitsurteile.
  8. Modellabhängigkeit. Die Ergebnisqualität hängt vom Modell, der Prompt-Interpretation und dem verfügbaren Repository-Kontext ab.
  9. Bewertungsumfang. Die aktuellen Tests verifizieren Software-Regressionen. Das veröffentlichte CVE-Beispiel ist ein reales Nutzungsergebnis, ersetzt jedoch keine statistische Bewertung der Sicherheitserkennungsleistung.

IX. Entwicklung und Retrospektive

v1 (Repository) konzentrierte sich auf das Problem der Verteilung der LLM-Aufmerksamkeit durch externe Signale und wurde in einer realen v1-gestützten Untersuchung verwendet, um CVE-2026-31720 zu finden. v2 führt dieselbe Forschungshilosophie fort und erweitert sie so, dass auch nach einem starken Befund des Modells Repository-Zustand und antwortabgeleitete Referenzen gemeinsam protokolliert werden. In einer Folgeuntersuchung mit dieser Struktur wurde CVE-2026-53075 gefunden.

root@kitploit:~
v1: Quellbeobachtungen → Rangfolge → fokussiertes Review
v2: Quellbeobachtungen → Rangfolge → fokussiertes Review → Provenienz-bewusstes Triage

Zwei Prinzipien dieser Entwicklung müssen beibehalten werden.

  1. Pre-Inferenz-Punktzahlen nicht als Schwachstellenbeweis missverstehen.
  2. Post-Inferenz-Buckets nicht als Neuheitsbeweis missverstehen.

Wenn man es jetzt erneut erweitern würde, hätten Clang-/tree-sitter-Call-Graphen, Punktzahl-Normalisierung, versionierte Manifeste mit Interprozess-Zustandssperrung, autoritative CVE-/Fix-Datenbank-Adapter sowie die Trennung von Runner, Triage und Artefakt-Schreiber Priorität. Der aktuelle Zustandsschreibvorgang selbst verwendet temporäre Dateien und atomares Ersetzen.

X. Fazit

Kernel Codex Harness v2 ersetzt keine Schwachstellenerkennung. Vor dem Modellaufruf verteilen externe Signale das Untersuchungsbudget auf erklärbare Kandidaten; nach dem Modellaufruf organisieren Provenienzsignale starke Befunde in überprüfbare Warteschlangen. Diese Struktur wurde in einer realen Untersuchung zur Entdeckung von CVE-2026-53075 verwendet. Das Kernresultat des Projekts ist kein Algorithmus zur automatischen Neuheitsbestimmung, sondern ein praxiserprobter LLM-Sicherheitsreview-Workflow, der Aufmerksamkeitsverteilung und Provenienz-bewusstes Triage explizit trennt.

Anhang A. Repository-Struktur

root@kitploit:~
.
├── .github/workflows/ci.yml
├── docs/
│   ├── assets/kernel-harness-v2-architecture.svg
│   ├── AUTOPILOT.md
│   ├── CODEX_CLI.md
│   ├── CODEX_WORKFLOW.md
│   └── SYZBOT.md
├── kernel_harness/
│   ├── resources/
│   │   ├── linux-kernel-default.json
│   │   └── profiles/
│   │       ├── bpf.json
│   │       ├── drivers.json
│   │       ├── fs.json
│   │       ├── io_uring.json
│   │       └── net.json
│   ├── __init__.py
│   ├── __main__.py
│   ├── autopilot.py
│   ├── bundle.py
│   ├── cli.py
│   ├── finding_triage.py
│   ├── ingest.py
│   ├── models.py
│   ├── prompting.py
│   ├── repo_state.py
│   ├── session.py
│   ├── syzbot.py
│   └── targeting.py
├── tests/test_regressions.py
├── .gitignore
├── README.md
└── pyproject.toml

Detaillierte manuelle Betriebsabläufe finden Sie im Codex-CLI-Leitfaden, automatische Ausführung und Triage im Autopilot-Leitfaden und Crash-Intelligenz im syzbot-Leitfaden.

Referenzen

[1] Protect AI, „vulnhuntr“, GitHub-Repository. https://github.com/protectai/vulnhuntr

[2] Google, „syzkaller and syzbot“, GitHub-Repository. https://github.com/google/syzkaller

[3] OpenAI, „Codex CLI“. https://developers.openai.com/codex/cli/

Lizenz

Lizenziert unter der Apache License 2.0.

Tool herunterladen