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

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

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

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

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

Категории

Все категории
Loading categories
AutoPiff — Движок семантического анализа для обнаружения исправлений уязвимостей в патчах драйверов ядра Windows — 58 правил YAML, декомпиляция Ghidra, отслеживание достижимости и оценка | Kitploit
Инструменты/GitHubGitHub/splintersfury/autopiff
Статический анализАнализ уязвимостейЭксплуатацияОбратная инженерияАнализ вредоносных программАнализ Бинарных ФайловАнализ Прошивок
GitHubsplintersfury/autopiff

AutoPiff

Движок семантического анализа для обнаружения исправлений уязвимостей в патчах драйверов ядра Windows — 58 правил YAML, декомпиляция Ghidra, отслеживание достижимости и оценка

Репозиторий
644167 месяцев назадПроверено Kitploit

Популярное

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

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

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

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

Смотреть все инструменты →
Поделиться

AutoPiff

Автоматизированная платформа анализа исправлений и поиска уязвимостей

Движок семантического анализа для обнаружения исправлений уязвимостей в патчах драйверов ядра Windows. AutoPiff использует консервативные YAML-правила для выявления изменений кода, связанных с безопасностью, с высокой точностью и объяснимостью.

Обзор

AutoPiff анализирует различия между уязвимой и исправленной версиями драйвера, чтобы автоматически обнаруживать:

  • Исправления Use-After-Free (присвоение NULL после ExFreePool)
  • Добавление проверок границ (валидация длины перед memcpy)
  • Ужесточение границ пользователь/ядро (ProbeForRead/ProbeForWrite)
  • Защита от целочисленного переполнения (безопасные математические хелперы)
  • Укрепление состояния (interlocked refcounting)
  • Валидация входных данных IOCTL, защита от повреждения пула, проверки привилегий и многое другое.

Ключевые особенности

  • Высокая точность: консервативные правила минимизируют ложные срабатывания
  • Объяснимость: каждое обнаружение включает обоснование и доказательства
  • Осведомлённость о приёмниках (sink-aware): правила учитывают близость к опасным API
  • Модель оценки: ранжирование результатов по эксплуатируемости и достижимости
  • Интеграция с Karton: работает как распределённый сервис в конвейерах анализа вредоносного ПО

Зачем нужен AutoPiff?

Иголка в стоге сена

Вендор выпускает 500 обновлений драйверов в год
├── 490 — функциональные/производительные/косметические изменения
├── 8 — незначительные исправления ошибок
└── 2 — молчаливые исправления безопасности (без CVE)

Без автоматизации: просмотреть 500 вручную, чтобы найти 2
С AutoPiff:      просмотреть 10 с наивысшим рейтингом, чтобы найти 2

Патчи безопасности часто выпускаются без назначения CVE. Ручное реверс-инжиниринг каждого обновления драйвера для поиска изменений, связанных с безопасностью, невозможно. AutoPiff решает эту проблему, автоматически выявляя важные изменения.

Что автоматизирует AutoPiff

ЭтапРучная работаС AutoPiffСэкономленное время
Сопоставление версий5–15 мин/драйверАвтоматически~100%
Декомпиляция2–10 мин/бинарникПакетно, параллельно~95%
Сопоставление функций30–60 мин/параМгновенно~100%
Выявление изменений безопасности2–8 ч/параСекунды~99%
Первичная триаж и ранжирование1–2 чМгновенно~100%
Генерация отчёта30–60 минМгновенно~100%

Итого: с 4–12 часов на пару драйверов до 2–5 минут

Что по-прежнему требует участия человека

┌─────────────────────────────────────────────────────────────────┐
│  АВТОМАТИЗИРОВАНО AutoPiff                                      │
│  ├── Найти иголку: "Эта функция изменилась рядом с ExFreePool"  │
│  ├── Классифицировать: "Похоже на исправление Use-After-Free"   │
│  └── Оценить: "Оценка 5.5 — стоит исследовать"                 │
├─────────────────────────────────────────────────────────────────┤
│  ПО-ПРЕЖНЕМУ ВРУЧНУЮ (Ваша экспертиза)                         │
│  ├── Подтвердить эксплуатируемость: "Могу ли я реально это     │
│      вызвать?"                                                   │
│  ├── Анализ первопричины: "Почему это было уязвимо?"            │
│  ├── Разработка эксплойта: "Как мне достичь этого приёмника?"   │
│  └── Оценка воздействия: "Каков реальный риск?"                │
└─────────────────────────────────────────────────────────────────┘

AutoPiff не заменяет исследования по эксплуатации. Он делает их возможными в масштабе, автоматизируя фазу разведки.

Варианты использования

1. Обнаружение молчаливых исправлений

  • Мониторинг драйверов на предмет исправлений безопасности, выпущенных без CVE
  • Получать оповещения при появлении семантических дельт с высоким рейтингом
  • Выявлять уязвимости до их публичного раскрытия

2. Исследование уязвимостей 1-го дня

  • При объявлении CVE быстро определить точный патч
  • Соотносить паттерны исправлений с классами уязвимостей
  • Ускорять разработку эксплойтов

3. Аудит безопасности вендора

  • Анализировать все версии семейства драйверов за период времени
  • Строить временные линии, показывающие, когда появились исправления
  • Выявлять закономерности в устранении уязвимостей у вендора

4. Создание исторического корпуса CVE

  • Обрабатывать известные пары CVE-драйверов для построения обучающих данных
  • Валидировать и улучшать правила обнаружения
  • Создавать базу знаний сигнатур исправлений

Архитектура

AutoPiff работает как конвейер Karton, состоящий из 8 последовательных этапов плюс параллельная ветвь триажа DriverAtlas. Каждый этап — независимый микросервис, общающийся через Redis/RabbitMQ.

graph LR
    sources["WinBIndex<br/>VirusTotal"]:::src --> s0["Stage 0<br/>Monitor"]
    s0 --> s14["Stages 1-4<br/>Patch Differ"]
    s0 --> triage["DriverAtlas<br/>Triage"]:::triage
    s14 --> s5["Stage 5<br/>Reachability"]
    s5 --> s6["Stage 6<br/>Ranking"]
    s6 --> s7["Stage 7<br/>Report"]
    s6 --> s8["Stage 8<br/>Alerter"]
    triage --> alerts["MWDB Tags<br/>+ Alerts"]:::triage

    classDef src fill:#1a1a2e,stroke:#e94560,color:#eee
    classDef triage fill:#1a1a2e,stroke:#e9a345,color:#eee
    classDef default fill:#16213e,stroke:#0f3460,color:#eee
ЭтапСервисЧто делает
0driver-monitorОпрашивает WinBIndex и VirusTotal на предмет новых версий драйверов, загружает в MWDB
1–4karton-patch-differСопоставление версий, декомпиляция в Ghidra, сопоставление функций, оценка семантических правил
5karton-reachabilityBFS графа вызовов Ghidra от точек входа IOCTL/IRP до изменённых функций, экспорт полной декомпиляции
6karton-rankingОценивает результаты с учётом достижимости, семантической серьёзности и поверхности атаки
7karton-reportГенерирует структурированные отчёты в Markdown, загружает в MWDB
8autopiff-alerterОтправляет оповещения в Telegram для результатов с оценкой >= 8.0
—autopiff-driver-triageОценка поверхности атаки DriverAtlas (параллельно этапам 1–4), тегирует образцы в MWDB, оповещения в Telegram

Семантические правила

AutoPiff включает 58 правил в 22 категориях. Полные спецификации см. в Docs/semantic_rules.md и техническом справочнике Docs/SEMANTIC_RULES_REFERENCE.md.

КатегорияПример обнаружения
bounds_checkДобавлена проверка длины перед memcpy
lifetime_fixПрисвоение NULL после ExFreePool
user_boundary_checkДобавлен ProbeForRead/ProbeForWrite
int_overflowИспользование безопасных математических хелперов
state_hardeningОперации interlocked refcount
ioctl_input_validationНовые проверки размера/типа в обработчиках диспетчеризации
pool_type_hardeningМиграция на NonPagedPoolNx
privilege_checkДобавлен SeSinglePrivilegeCheck

Группы приёмников (sink groups)

Движок правил отслеживает более 50 опасных API-символов в 8 группах приёмников:

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