Skip to content
KitploitKITPLOIT
ИнструментыЭксплойтыБлог
Log in
Отправить
ИнструментыЭксплойтыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

ЛентыКонтактыКонфиденциальность© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
linux-kernel-codex-harness — Инструментарий для исследования уязвимостей ядра Linux, основанный на доказательствах, применявшийся в ходе расследования CVE-2026-31720 | Kitploit
Инструменты/GitHubGitHub/foxirain/linux-kernel-codex-harness
Статический анализАнализ уязвимостейФаззингБезопасность ИИ
GitHubfoxirain/linux-kernel-codex-harness

linux-kernel-codex-harness

Инструментарий для исследования уязвимостей ядра Linux, основанный на доказательствах, применявшийся в ходе расследования CVE-2026-31720

Репозиторий

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
452 месяцев назадЕщё не проверено
Поделиться

Kernel Codex Harness

한국어 | English

CI

Research Tool · Original Import: 3 April 2026 · Documentation Revision: 11 July 2026

Core Philosophy — External Signal
Let reproducible observations outside model inference guide attention; never mistake priority for proof.

Project status. Этот репозиторий — ранняя версия исследовательского harness'а с поддержкой LLM, который был создан и использован для реального исследования уязвимостей ядра Linux. Эта версия использовалась для обнаружения уязвимости, опубликованной как CVE-2026-31720. Harness расставляет приоритеты для объектов исследования, но не доказывает уязвимости автоматически и не гарантирует безопасность ядра; окончательная проверка и отчётность выполняются человеком.

Abstract

Abstract— Если позволить LLM напрямую исследовать такую большую кодовую базу, как ядро Linux, контекст быстро рассеивается, а наличие опасных API легко спутать с реальной эксплуатируемостью. Kernel Codex Harness определяет эту проблему не как задачу автоматического обнаружения уязвимостей, а как задачу приоритизации исследования и оркестрации на основе состояния. Этот проект называет принцип управления вниманием модели с помощью воспроизводимых наблюдений, вычисляемых вне логического вывода LLM, External Signal. Комбинируя статические сигналы, связанные с путями в ядре, границами userspace, lifetime, usercopy, refcount и размером, а также опциональную аналитику сбоев syzbot, проект ранжирует файлы-кандидаты и преобразует каждого кандидата в узкий набор промптов. Ручная проверка и автопилот на основе временного бюджета используют один и тот же контракт ответов и состояние сессии. Этот harness использовался в реальном исследовании ядра Linux для обнаружения stack out-of-bounds write в пути USB gadget audio; этот дефект был опубликован как CVE-2026-31720. Данная реализация — это не точный статический анализатор, а исследовательский workflow, который ограничивает область исследования LLM с помощью объяснимых эвристик; все находки требуют повторной проверки человеком на предмет reachability, нарушения инвариантов и конкретного воздействия.

Index Terms— Linux kernel, vulnerability research, external signal, LLM orchestration, heuristic prioritization, syzbot, program analysis, Codex.

I. Introduction

При проверке безопасности ядра Linux существуют два вида проблем масштаба. Во-первых, всё дерево исходников слишком велико, чтобы уместиться в один контекст LLM. Во-вторых, такие сигналы, как copy_from_user, аллокаторы, refcount и блокировки, распространены, но сами по себе не означают уязвимость. Аналитик должен сначала решить, «куда смотреть», а затем отдельно доказать достижимость из userspace и конкретные переходы состояний.

Ключевая философия этого проекта — External Signal.

Мы не позволяем LLM самому решать, куда смотреть. Воспроизводимые сигналы вне логического вывода модели распределяют внимание, но вывод об уязвимости делается только на основе reachability и evidence об инвариантах.

Поэтому harness не заставляет модель бесцельно исследовать всё ядро. Он приоритизирует файлы, предоставляет только одну ветвь исследования за раз и требует сначала структуру доказательств, а не выводы.

II. External Signal and Design Principles

A. External Signal Before Model Inference

External Signal — это не суждение, сгенерированное LLM, а наблюдение, которое определяется до выполнения модели и может быть пересчитано на основе того же дерева исходников, профиля и сохранённого syzbot JSON. Сюда относятся веса путей, совпадения регулярных выражений и кэшированное пересечение с syzbot. Эти сигналы используются только для ранжирования кандидатов и контекста промптов и не повышаются до вердикта или доказательства.

External Signal в этом документе относится ко всей философии проекта. Модель данных ExternalSignal в коде в настоящее время представляет только те сигналы, которые происходят из syzbot, поэтому объёмы этих двух терминов различаются.

B. Prioritization Is Not Proof

Совпадения регулярных выражений, пути высокого риска и пересечения с syzbot — всё это сигналы для порядка исследования. Даже высокий балл не является security finding, если реальный путь вызова, привилегии, конфигурация ядра, namespace или доступность устройства не позволяют атакующему достичь цели.

C. Reachability Before Bug Class

Аудит сначала проверяет границы, начинающиеся из userspace: syscall, ioctl, netlink, procfs, файловые системы, BPF, хуки драйверов. Только после этого оцениваются классы ошибок: UAF, OOB, refcount, race, утечка информации, проверки capability.

D. One Investigation Branch at a Time

Одна единица исследования по умолчанию ограничена одним файлом и ближайшими путями caller, teardown и free. Ручные follow-up, рекомендованные моделью, разрешены максимум дважды. Это ограничение введено не для уменьшения исследовательских возможностей, а для сохранения выводов в проверяемых рамках.

E. Evidence Over Confidence

Промпт требует, чтобы сильная находка как минимум описывала следующие пункты.

  1. entrypoint, достижимый атакующим,
  2. поле, контролируемое атакующим, или переход lifetime,
  3. нарушаемый инвариант объекта, длины или состояния,
  4. конкретное воздействие: corruption, утечка, повышение привилегий и т. д.,
  5. причина, по которой существующая проверка не предотвращает атаку.

Если доказательств недостаточно, модель вместо сильного утверждения об уязвимости возвращает единственную цель для следующей проверки. Это prompt-level evidence contract; текущий парсер не проверяет автоматически полноту каждого доказательства. Поскольку ingestion нормализует вердикт и следующую цель, окончательная проверка доказательств — ответственность человека.

F. Design Lineage

Ранний поток исследования исходил из идей файлового анализа, ограниченного расширения контекста и структурированных результатов, использованных в vulnhuntr от Protect AI [1]. В этом проекте эти идеи не применяются напрямую к анализу Python-приложений, а переработаны вокруг достижимой из userspace поверхности ядра, lifetime объектов ядра, путей teardown и пересечений с syzbot. В частности, разделение сигналов приоритизации и доказательства уязвимости, а также проверка reachability до класса ошибки — ключевые проектные решения harness'а для ядра.

III. System Architecture

External Signal architecture for Kernel Codex Harness

Fig. 1. The External Signal layer turns observations computed before model inference into ranked review units. It allocates attention but does not establish vulnerability proof.

TABLE I — MAJOR MODULE RESPONSIBILITIES

Скачать инструмент