ANTICHAT

ANTICHAT (https://forum.antichat.io/index.php)
-   Ваши проекты (https://forum.antichat.io/forumdisplay.php?f=207)
-   -   javanet: self-hosted триаж артефактов и анализ уязвимостей для изолированных контуров (Go + локальный ИИ) (https://forum.antichat.io/showthread.php?t=9004208)

javanet 06.09.2026 01:12

javanet: self-hosted триаж артефактов и анализ уязвимостей для изолированных контуров (Go + локальный ИИ)
 
javanet - это self-hosted (разворачиваемая локально) платформа для статического анализа защищённости и триажа артефактов с поддержкой локального искусственного интеллекта.
Для чего она нужна​
Платформа предназначена для организаций с жёсткими требованиями к изоляции данных (банки, госсектор, критическая информационная инфраструктура, оборонные предприятия). Этим организациям законодательно или внутренними политиками запрещено отправлять свои бинарные файлы, исходный код или карты сетей в облачные сканеры уязвимостей (такие как Qualys, Snyk, Wiz). javanet закрывает эту потребность, работая полностью внутри изолированного контура (air-gapped).
Как это работает (Пайплайн)​
Приём и идентификация: Система принимает неизвестный артефакт. Тип файла определяется по магическим числам (сигнатурам), а не по расширению.
Статический анализ: Проводится декомпиляция, анализ энтропии, поиск опасных импортов и уязвимых зависимостей. Код никогда не исполняется (динамический анализ запрещён архитектурой).
Сверка с угрозами: Данные сверяются с локальной, регулярно обновляемой базой уязвимостей (NVD, OSV, CISA KEV, EPSS) и SBOM.
Приоритизация: Рассчитывается детерминированный скоринг риска (0-100) на основе реальных факторов: базовый CVSS, подтверждение активной эксплуатации (CISA KEV), наличие публичного эксплойта и вероятность (EPSS).
Отчётность и аудит: Генерируется экспортируемый отчёт. Все действия записываются в криптографически хешированный, неизменяемый (append-only) журнал на уровне триггеров базы данных для обеспечения проверяемой цепочки владения (chain of custody) перед регулятором.
Техническая архитектура​
Форм-фактор: Единый исполняемый бинарный файл (Go), включающий в себя веб-интерфейс (React SPA).
Зависимости: Требует только PostgreSQL 16 (с расширением pgvector для локального RAG) и локальный сервер LLM (Ollama).
ИИ: Используется исключительно в режиме советника (advisory-only). Модель не принимает автономных решений, не пишет в конфигурации и не взаимодействует с сетью. Все её выводы требуют подтверждения человеком.
Текущий статус разработки​
Готово: Программный код написан (более 21 000 строк продакшн-кода на Go, 323 теста), протестирован локально и упакован в нативные установщики для Windows и различных дистрибутивов Linux.
Не реализовано: В системе отсутствуют механизмы биллинга/лицензирования, нет полноценного разграничения ролевого доступа (RBAC) во всех 22 модулях и не реализована мультитенантность.

P.S - Это специализированный инженерный инструмент, заменяющий собой связку из множества разрозненных open-source утилит и электронных таблиц в изолированных контурах, предоставляя единый, проверяемый и безопасный процесс анализа уязвимостей.

Для добровольного пожертвования в развитие
BTC
bc1qzxh7cvvsff24heshtj4np0glt32errmkelgsrv
ETH
0xAAE9D927315F7260e07DA3EaC493Ce783a58a90E

javanet 06.09.2026 01:14

Модуль JVN-Findings - реестр находок
Зачем он нужен

Раньше у нас было так: сканеры выдают кучу отчётов, кто-то вручную сводит их в таблицы, потом переносит в тикеты, потом отдельно считает просрочки - и это всё каждый раз заново. JVN-Findings это вытаскивает из разных мест и собирает в одном реестре. Все результаты - в одном списке, без ручной перегонки данных.

Что видно по каждой находке

По каждой записи можно сразу понять:
откуда пришла проблема;
на какой объект или путь она указывает;
насколько она критична;
в каком состоянии находится;
есть ли CVE;
входит ли в CISA KEV;
какой срок устранения установлен;
нарушен ли этот срок;
как менялся статус;
кто и что решил.

Главная мысль: ИБ-команда видит актуальную картину по всем рискам в одном месте, а не по частям в разных системах.

Как живёт находка

У каждой находки есть свой жизненный цикл:
обнаружено → открыто → триаж → работа над исправлением → проверка → закрыто.

Если риск не исправляется, его можно официально принять - с указанием причины и срока, на который это решение действует. То есть само наличие находки ещё не делает её подтверждённой угрозой: окончательное решение всегда за человеком.

Приоритеты
Уровни критичности:
🔴 Критический
🟠 Высокий
🟡 Средний
🔵 Низкий
⚪ Информационный
И отдельно система выделяет уязвимости из CISA KEV - чтобы их не затеряли среди сотен других записей. Это позволяет команде не разбирать всё подряд с одинаковым вниманием, а сосредоточиться на самом опасном.

Сроки и просрочки

Для каждого уровня критичности задаётся свой SLA. Пример:

Критичность SLA
Критическая 7 дней
Высокая 30 дней
Средняя 90 дней
Низкая 180 дней
Информационная 365 дней
Система сама отслеживает, где срок вышел, и показывает это прямо в реестре. Например: «Критические - 6 открытых, все 6 просрочены». Больше не нужно вручную сверять даты в Excel.

Фильтры и работа с дублями

Реестр позволяет отфильтровать находки по критичности, статусу, типу анализа, CVE, KEV, факту просрочки, объекту, пути. Есть и сворачивание дублей - особенно актуально, когда сканеры запускаются повторно. Вместо бесконечного потока одинаковых записей инженер видит одну логическую находку и работает с ней.

История изменений

Все ключевые решения по находке попадают в лог. В любой момент можно восстановить:
что нашли → когда нашли → какой статус поставили → какое решение приняли → кто принял → на каком основании → до какого срока.

Для аудита - как внутреннего, так и внешнего - это практически обязательная вещь.

Что в итоге получает ИБ-команда

Было:

сканеры → куча отчётов → CSV → Excel → ручной триаж → тикеты → ручной контроль SLA

Стало:

анализаторы → единый реестр → приоритеты → SLA → назначенный ответственный → устранение или принятие риска → аудит-логи

То есть модуль становится связующим звеном между тем, что нашли сканеры, и тем, что с этим делают дальше.


P.s - при написании текста была использована ИИ.


Время: 09:46