Важно Zer0Kernel Security Radar: автоматический CVE Radar и Virus Radar для мониторинга уязвимостей и вредоносного ПО

Современный информационный поток в сфере кибербезопасности давно превысил объём, который можно качественно обрабатывать вручную.
Новые CVE появляются ежедневно, базы уязвимостей постоянно обновляются, исследователи публикуют новые индикаторы компрометации, а malware-семейства получают новые варианты, инфраструктуру и способы доставки.

Для Zer0Kernel была создана собственная автоматизированная система мониторинга — Zer0Kernel Security Radar.

Она состоит из двух основных подсистем:
  • CVE Radar — мониторинг, анализ и публикация материалов об актуальных уязвимостях;
  • Virus Radar / Malware Radar — мониторинг современных вредоносных программ, образцов и IOC.
Система не является простым RSS-агрегатором. Она собирает данные из нескольких источников, нормализует их, фильтрует по заданным критериям, проверяет дубликаты, собирает доказательную базу, использует локальную LLM для подготовки технического материала и автоматически публикует готовые статьи в соответствующие разделы форума Zer0Kernel.

Вот скрины разделов форума, в которые будет поститься материалл:

1786111451839.png

1786111468500.png


Общая архитектура

Zer0Kernel Security Radar
— отдельное серверное приложение на Python, работающее в Docker и интегрированное с XenForo через API.

Код:
Источники Threat Intelligence
        |
        v
Сбор и нормализация данных
        |
        v
PostgreSQL
        |
        v
Фильтрация и приоритизация
        |
        v
Сбор Evidence
        |
        v
Локальная LLM
        |
        v
Валидация статьи
        |
        v
Проверка дубликатов
        |
        v
XenForo API
        |
        v
zer0kernel.org

### Основной стек

  • Python 3.12
  • FastAPI
  • PostgreSQL
  • Docker Compose
  • Alembic
  • Pydantic
  • XenForo REST API
  • OpenAI-compatible API
  • vLLM
  • Qwen3-Coder 30B
  • NVD
  • CISA KEV
  • FIRST EPSS
  • Ubuntu Security Metadata
  • Debian Security Tracker
  • MalwareBazaar
  • ThreatFox

Для генерации материалов используется локальная модель:

Код:
QuantTrio/Qwen3-Coder-30B-A3B-Instruct-AWQ

Модель обслуживается отдельным контейнером vLLM и доступна Radar через OpenAI-совместимый API.

---

# CVE Radar

## Основная задача

CVE Radar автоматически отслеживает актуальные уязвимости, оценивает их приоритет и создаёт технические статьи для соответствующих разделов Zer0Kernel.

При этом система не публикует каждый обнаруженный CVE.

Сначала выполняется отбор.

Код:
NVD
 |
 +--> CVE опубликован недавно?
 |
 +--> относится к поддерживаемому продукту?
 |
 +--> уже публиковался на Zer0Kernel?
 |
 +--> достаточный CVSS?
 |
 +--> есть официальный источник?
 |
 +--> достаточный priority score?
 |
 +--> есть свободный дневной слот?
 |
 v
Статья

---

## Источники CVE Radar

### NVD

Основным источником является National Vulnerability Database.

Radar получает через NVD API:

  • опубликованные CVE;
  • изменённые CVE;
  • CVSS;
  • CWE;
  • описания;
  • ссылки;
  • сведения о затронутых продуктах.

---

### CISA Known Exploited Vulnerabilities

Каталог CISA KEV позволяет определить, связана ли уязвимость с известной эксплуатацией.

Наличие CVE в KEV повышает её приоритет.

---

### FIRST EPSS

EPSS используется для дополнительной оценки вероятности эксплуатации уязвимости.

Таким образом, Radar может учитывать не только тяжесть CVSS, но и вероятность реальной эксплуатации.

---

### Ubuntu Security Metadata

Для Ubuntu используется официальный набор данных Canonical.

Radar получает сведения о:

  • затронутых пакетах;
  • версиях Ubuntu;
  • статусе исправления;
  • доступности обновлений.

---

### Debian Security Tracker

Для Debian используется официальный Security Tracker.

Он позволяет уточнять статус уязвимости применительно к Debian и отдельным пакетам.

---

# Поддерживаемые CVE-разделы

На текущем этапе Radar маршрутизирует материалы в следующие направления:

  • Linux Kernel
  • Ubuntu
  • Debian
  • Windows 10 / 11
  • Windows Server
  • NGINX
  • Apache HTTP Server

Каждому направлению соответствует отдельный XenForo node.

Статьи создаются как XenForo Article:

Код:
discussion_type=article

---

# Фильтрация CVE

Пример production-настроек:

Код:
CVE_MAX_AGE_DAYS=30
MIN_CVSS_SCORE=6.5
MIN_PRIORITY_SCORE=55
REQUIRE_OFFICIAL_SOURCE=true
DAILY_POST_LIMIT=10

Это означает:

  • рассматриваются CVE в заданном временном окне;
  • CVSS должен соответствовать минимальному порогу;
  • внутренний priority score должен быть достаточно высоким;
  • требуется официальный или достаточно надёжный источник;
  • существует дневной лимит публикаций.

---

## Дневной лимит CVE

Radar учитывает уже опубликованные за текущие сутки статьи.

Например:

Код:
DAILY_POST_LIMIT = 10
PUBLISHED_TODAY  = 10
SLOTS_LEFT       = 0

В таком случае следующий запуск корректно завершится:

Код:
selected: 0
drafted: 0
published: 0
errors: []

Это не ошибка.

Radar может загрузить более 10 000 записей NVD, но не выбрать новый материал, если дневной лимит уже исчерпан.

---

# Как создаётся CVE-статья

После выбора CVE Radar формирует специальный набор данных — Evidence Packet.

В него могут входить:

  • описание NVD;
  • CVSS;
  • CWE;
  • ссылки на advisory;
  • сведения Ubuntu;
  • сведения Debian;
  • CISA KEV;
  • EPSS;
  • затронутые версии;
  • исправленные версии;
  • рекомендации производителя;
  • дополнительные официальные источники.

После этого Evidence Packet передаётся локальной LLM.

---

# Роль LLM

LLM используется не как источник истины, а как инструмент подготовки и структурирования материала.

Архитектура:

Код:
CVE Evidence
     |
     v
Zer0Kernel Radar
     |
     v
OpenAI-compatible API
     |
     v
vLLM
     |
     v
Qwen3-Coder 30B
     |
     v
Structured Article

Radar контролирует:

  • системный prompt;
  • размер контекста;
  • temperature;
  • maximum output tokens;
  • JSON mode;
  • editorial review;
  • retries;
  • структуру ответа.

---

# Валидация CVE-статей

LLM не имеет возможности напрямую отправить статью на форум.

После генерации выполняется валидация.

Проверяются:

  • структура;
  • заголовок;
  • объём;
  • количество тегов;
  • ссылки на Evidence;
  • соответствие продукта разделу;
  • наличие обязательных секций;
  • запрещённые формулировки;
  • прямые URL;
  • техническая целостность текста.

Если первый вариант не проходит проверку:

Код:
Генерация
   |
   v
Валидация
   |
   +---- OK ----> Публикация
   |
   +---- Ошибки
          |
          v
     Editorial revise
          |
          v
     Повторная валидация

---

# Система источников [S1], [S2], [S3]

В тексте статьи используются ссылки вида:

Код:
[S1]
[S2]
[S3]

Например:

Markdown (GitHub flavored):
Исправление было опубликовано upstream-разработчиками [S2].

Это позволяет отделить обычный текст от реальных Evidence-источников.

Преимущества:

  • модель не должна придумывать URL;
  • источник связан с реальными данными;
  • проще проводить аудит;
  • уменьшается риск случайной публикации вредоносной ссылки;
  • статьи получают единый формат.

---

# Защита от дубликатов CVE

Radar хранит состояние в PostgreSQL.

Перед публикацией проверяется:

  • публиковался ли CVE ранее;
  • существует ли локальная запись;
  • существует ли соответствующая статья на XenForo.

Дополнительно используется:

Код:
XENFORO_VERIFY_REMOTE_DUPLICATES=true

То есть даже если локальная база была восстановлена или изменена, Radar дополнительно проверяет сам форум.

---

# Virus Radar / Malware Radar

Вторая крупная подсистема — Virus Radar, внутри проекта называемая Malware Radar.

Она предназначена для мониторинга:

  • современных вредоносных программ;
  • malware families;
  • новых образцов;
  • IOC;
  • C2-инфраструктуры;
  • способов доставки;
  • признаков компрометации.

---

# Источники Virus Radar

Основные источники — сервисы abuse.ch.

---

## MalwareBazaar

MalwareBazaar предоставляет информацию о новых образцах вредоносного ПО.

Radar может получать:

  • SHA256;
  • тип файла;
  • malware signature;
  • время обнаружения;
  • теги;
  • дополнительные метаданные;
  • карточку образца.

Пример:

Код:
SHA256
malware family
file type
first seen
tags
sample metadata

---

## ThreatFox

ThreatFox используется преимущественно для IOC.

Radar может получать:

  • домены;
  • IP;
  • URL;
  • C2;
  • malware family;
  • IOC type;
  • first seen;
  • last seen;
  • confidence.

То есть MalwareBazaar даёт информацию об образцах, а ThreatFox дополняет её инфраструктурой и IOC.

---

# Временное окно Virus Radar

Текущая конфигурация:

Код:
MALWARE_MAX_AGE_DAYS=30

Это означает, что Radar рассматривает threat intelligence за последние 30 дней.

Пример реального запуска:

Код:
Malware intelligence:
получено 2385 образцов и 3554 IOC за 30 дней

После агрегации из тысяч отдельных объектов формируется список malware-кандидатов.

Например:

Код:
Malware Radar:
сформировано 74 свежих кандидата по 7 разделам

Один кандидат — это не отдельный файл, а агрегированное malware-семейство.

---

# Категории Virus Radar

Используются восемь основных направлений:

1. Инфостилеры
2. Загрузчики
3. Банковские трояны
4. RAT
5. Ransomware
6. Ботнеты
7. Шпионское ПО
8. Дропперы и распространители другого вредоносного ПО

Маршрутизация:

Код:
51 -> Infostealers
52 -> Loaders
53 -> Banking Trojans
54 -> RAT
55 -> Ransomware
56 -> Botnets
57 -> Spyware
59 -> Droppers / Distributors

---

# Round-robin маршрутизация

Чтобы один популярный тип malware не занимал весь дневной лимит, используется round-robin.

Код:
Infostealers
     |
     v
Loaders
     |
     v
Banking Trojans
     |
     v
RAT
     |
     v
Ransomware
     |
     v
Botnets
     |
     v
Spyware
     |
     v
Droppers
     |
     v
Infostealers

Позиция ротации сохраняется в PostgreSQL.

Если в категории нет подходящих кандидатов, она пропускается.

---

# Дневной лимит Virus Radar

Лимиты CVE и malware независимы.

Например:

Код:
DAILY_POST_LIMIT=10
MALWARE_DAILY_POST_LIMIT=10

Это означает:

Код:
до 10 CVE-статей в сутки
+
до 10 malware-статей в сутки

То есть теоретический максимум:

Код:
20 новых материалов в сутки

при наличии подходящих кандидатов.

---

# Содержимое malware-статьи

Статья строится вокруг malware family.

Она может содержать:

  • название семейства;
  • классификацию;
  • целевую платформу;
  • назначение;
  • механизм распространения;
  • особенности исполнения;
  • основные возможности;
  • persistence;
  • credential theft;
  • browser data theft;
  • C2;
  • IOC;
  • примеры SHA256;
  • признаки компрометации;
  • рекомендации для SOC;
  • рекомендации администраторам;
  • способы обнаружения;
  • defensive guidance;
  • источники.

---

# Безопасная работа с IOC

Threat Intelligence может содержать реальные вредоносные адреса.

Например:

Код:
http://malicious.example/payload

Такие URL не должны превращаться в обычные активные ссылки.

Для них используется defang.

Пример:

Код:
hxxp://malicious[.]example/payload

Смысл разделения:

Код:
Research Source
        |
        v
[S1] / [S2] / [S3]

Malicious IOC
        |
        v
Defanged IOC block

---

# Почему запрещены прямые URL от LLM

Если позволить модели публиковать любой URL, она потенциально может вставить:

  • C2;
  • payload URL;
  • phishing URL;
  • redirect;
  • compromised host.

Поэтому валидатор блокирует прямые URL.

Пример ошибки:

Код:
В разделах статьи обнаружена прямая ссылка;
используйте [S1]

Правильная логика:

Код:
LLM создала URL
      |
      v
Совпадает с доверенным Evidence Source?
      |
      +---- Да ---> [S1], [S2], ...
      |
      +---- Нет --> Публикация блокируется

Таким образом, неизвестные адреса не должны автоматически становиться кликабельными.

---

# XenForo Tags

Radar автоматически формирует теги.

Например:

Код:
Vidar
Windows
вредоносное ПО
Инфостилеры
stealer
браузерные данные

XenForo имеет собственные ограничения.

Например:

Код:
c2

может быть слишком коротким тегом.

Поэтому он должен нормализоваться, например:

Код:
c2
   |
   v
C2-инфраструктура

Дополнительно удаляются:

  • слишком короткие теги;
  • дубликаты;
  • лишние значения.

Количество тегов также ограничивается.

---

# PostgreSQL

PostgreSQL используется для хранения состояния Radar.

В базе сохраняются:

  • CVE;
  • статусы обработки;
  • публикации;
  • drafts;
  • thread ID;
  • first post ID;
  • URL статьи;
  • malware publications;
  • malware pipeline runs;
  • round-robin state;
  • timestamps;
  • ошибки.

Благодаря этому Radar может переживать перезапуски без потери состояния.

---

# Ошибка одной статьи не останавливает Radar

Pipeline специально построен так, чтобы ошибка отдельного материала не завершала весь цикл.

Например:

Код:
Vidar
 -> validation error

Amadey
 -> published

DanaBot
 -> XenForo tag error

Snake Keylogger
 -> published

LegionLoader
 -> published

Radar продолжает обработку следующих кандидатов.

Итоговые ошибки сохраняются в:

Код:
errors: [...]

---

# Пример реального Virus Radar запуска

Пример:

Код:
Malware intelligence:
получено 2385 образцов и 3554 IOC за 30 дней

После обработки:

Код:
Malware Radar:
сформировано 74 свежих кандидата по 7 разделам

В одном из циклов были успешно опубликованы:

  • ClipBanker
  • Snake Keylogger
  • LxBaseRAT
  • Vidar
  • LegionLoader

Пример итогового результата:

Код:
published: 5

Radar добрал оставшиеся свободные дневные слоты.

---

# Пример CVE Radar

Radar может получить:

Код:
NVD:
10125 опубликованных записей

Дополнительно:

Код:
Ubuntu OSV:
1971 запись

Debian Security Tracker:
2375 записей

Но итог при исчерпанном дневном лимите:

Код:
discovered: 10127
selected: 0
published: 0
errors: []

Например:

Код:
DAILY_POST_LIMIT = 10
PUBLISHED_TODAY  = 10
SLOTS_LEFT       = 0

То есть количество загруженных CVE и количество публикаций — принципиально разные показатели.

---

# Markdown и XenForo BBCode

Внутреннее представление статьи формируется в Markdown.

Далее оно преобразуется в XenForo BBCode.

Код:
LLM Structured Output
       |
       v
Markdown
       |
       +----> локальный архив статьи
       |
       v
BBCode Renderer
       |
       v
XenForo

Это позволяет хранить материалы в переносимом формате и одновременно публиковать их с нативной разметкой XenForo.

---

# Уровни контроля качества

## 1. Проверка источника

Материал должен базироваться на реальном Threat Intelligence или официальном security source.

## 2. Классификация

Материал должен соответствовать определённому разделу.

## 3. Scoring

Недостаточно значимые CVE могут быть отброшены.

## 4. Pydantic Schema

Структурированный ответ LLM должен соответствовать модели данных.

## 5. Validator

Проверяется итоговый текст.

## 6. Duplicate Protection

Проверяется PostgreSQL и XenForo.

## 7. Daily Limits

Radar не может бесконтрольно заполнить форум десятками материалов за один запуск.

---

# Что Radar принципиально не делает

Zer0Kernel Security Radar:

  • не запускает malware;
  • не распаковывает вредоносные архивы автоматически;
  • не публикует malware-бинарники через HTTP;
  • не превращает C2 в обычные активные ссылки;
  • не доверяет произвольным URL от LLM;
  • не публикует неограниченное количество статей;
  • не должен создавать дубликаты;
  • не прекращает весь daily pipeline из-за одной ошибочной статьи.

---

# Текущая production-конфигурация

Пример текущего режима:

Код:
RUN_ON_STARTUP=false
DAILY_RUN_TIME=09:15

DAILY_POST_LIMIT=10
CVE_MAX_AGE_DAYS=30

MALWARE_DAILY_POST_LIMIT=10
MALWARE_MAX_AGE_DAYS=30
MALWARE_ALLOW_EVERGREEN_FALLBACK=false

То есть система может публиковать:

Код:
до 10 CVE-материалов в сутки
+
до 10 malware-материалов в сутки

Но это именно максимальный лимит.

Если качественных кандидатов меньше, Radar опубликует меньше.

---

# Итоговая схема Zer0Kernel Security Radar

Код:
                    Zer0Kernel Security Radar
                              |
                 +------------+------------+
                 |                         |
                 v                         v
             CVE Radar                Virus Radar
                 |                         |
        +--------+--------+        +-------+-------+
        |        |        |        |               |
       NVD     CISA     EPSS  MalwareBazaar    ThreatFox
        |        |        |        |               |
        +--------+--------+        +-------+-------+
                 |                         |
          Ubuntu / Debian             Sample + IOC
                 |                         |
                 v                         v
           Normalization               Aggregation
                 |                         |
                 v                         v
            PostgreSQL                PostgreSQL
                 |                         |
                 v                         v
          Classification             Classification
                 |                         |
                 v                         v
          Prioritization              Round-robin
                 |                         |
                 +------------+------------+
                              |
                              v
                        Evidence Packet
                              |
                              v
                           vLLM
                              |
                              v
                         Validation
                              |
                              v
                     Markdown / BBCode
                              |
                              v
                         XenForo API
                              |
                              v
                        zer0kernel.org

---

# Заключение

Zer0Kernel Security Radar вырос из простого CVE-агрегатора в полноценную автоматизированную систему Security Intelligence.

## CVE Radar отвечает за

  • мониторинг NVD;
  • CISA KEV;
  • EPSS;
  • Ubuntu;
  • Debian;
  • классификацию CVE;
  • приоритизацию;
  • проверку источников;
  • подготовку технических материалов;
  • публикацию на XenForo.

## Virus Radar отвечает за

  • MalwareBazaar;
  • ThreatFox;
  • malware samples;
  • IOC;
  • malware families;
  • автоматическую категоризацию;
  • round-robin по разделам;
  • подготовку аналитических материалов;
  • безопасную работу с IOC;
  • контроль ссылок;
  • административную работу с malware-образцами.

Главный принцип системы:

Код:
Threat Intelligence
        +
проверяемые источники
        +
детерминированная логика
        +
локальная LLM
        +
валидация
        +
контроль публикаций
        =
Zer0Kernel Security Radar

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

В результате Zer0Kernel получает постоянно обновляемую базу технических материалов об актуальных уязвимостях и современных вредоносных программах с контролем источников, категоризации, дубликатов, дневных лимитов и безопасности публикаций.

Zer0Kernel Security Radar обнаруживает, анализирует, проверяет и систематизирует то, что действительно заслуживает отдельного технического материала.
 
Назад
Верх Низ