Soft javanet: self-hosted триаж артефактов и анализ уязвимостей для изолированных контуров (Go + локальный ИИ)

  • Автор темы Автор темы javanet
  • Дата начала Дата начала
  • Теги Теги
    pentest

javanet

One Level
22.08.2026
6
3
Специализация
  1. Пентест
  2. Веб-безопасность
javanet - это self-hosted (разворачиваемая локально) платформа для статического анализа защищённости и триажа артефактов с поддержкой локального искусственного интеллекта.

Для чего она нужна​

Платформа предназначена для организаций с жёсткими требованиями к изоляции данных (банки, госсектор, критическая информационная инфраструктура, оборонные предприятия). Этим организациям законодательно или внутренними политиками запрещено отправлять свои бинарные файлы, исходный код или карты сетей в облачные сканеры уязвимостей (такие как Qualys, Snyk, Wiz). javanet закрывает эту потребность, работая полностью внутри изолированного контура (air-gapped).

Как это работает (Пайплайн)​

  1. Приём и идентификация: Система принимает неизвестный артефакт. Тип файла определяется по магическим числам (сигнатурам), а не по расширению.
  2. Статический анализ: Проводится декомпиляция, анализ энтропии, поиск опасных импортов и уязвимых зависимостей. Код никогда не исполняется (динамический анализ запрещён архитектурой).
  3. Сверка с угрозами: Данные сверяются с локальной, регулярно обновляемой базой уязвимостей (NVD, OSV, CISA KEV, EPSS) и SBOM.
  4. Приоритизация: Рассчитывается детерминированный скоринг риска (0-100) на основе реальных факторов: базовый CVSS, подтверждение активной эксплуатации (CISA KEV), наличие публичного эксплойта и вероятность (EPSS).
  5. Отчётность и аудит: Генерируется экспортируемый отчёт. Все действия записываются в криптографически хешированный, неизменяемый (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
 
Последнее редактирование:
  • Нравится
Реакции: Сергей Попов
Обновили Web Map.


1787552792934.webp
 
1788146433049.webp

Обновили топографию.
 
  • Нравится
Реакции: Сергей Попов
1788641573505.webp
Модуль 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 - при написании текста была использована ИИ.
 
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab

🚀 Первый раз на Codeby?
Гайд для новичков: что делать в первые 15 минут, ключевые разделы, правила
Начать здесь →
🧭 Навигатор · ИБ 2026
Не знаешь, какой трек твой?
5 направлений ИБ, реальные зарплаты и точка входа для каждого — в одном треде.
JuniorSenior+
100K → 600K+ ₽ /мес
Открыть навигатор →
🔴 Свежие CVE, 0-day и инциденты
То, о чём ChatGPT ещё не знает — обсуждаем в реальном времени
Threat Intel →
💼 Вакансии и заказы в ИБ
Pentest, SOC, DevSecOps, bug bounty — работа и проекты от проверенных компаний
Карьера в ИБ →