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

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

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

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

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

Категории

Все категории
Loading categories
jvmxray — Вынести доступ Java-приложения к защищённым ресурсам в виде сообщений журнала. | Kitploit
Инструменты/GitHubGitHub/spoofzu/jvmxray
Динамический анализ (песочница)Анализ уязвимостейАнализ КодаРеагирование на Инциденты
GitHubspoofzu/jvmxray

jvmxray

Вынести доступ Java-приложения к защищённым ресурсам в виде сообщений журнала.

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

Популярное

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

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

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

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

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

JVMXRay: Мониторинг безопасности Java-приложений

Black Hat Arsenal USA 2020 Java License Development Status

Логотип JVMXRay

История Duke

Документация | Изменения из апстрима | Блог проекта

JVMXRay отслеживает Java-приложения в реальном времени с помощью инъекции байт-кода, обнаруживая уязвимости и подозрительную активность без изменения кода. 19 модульных сенсоров отслеживают доступ к файлам, сетевые подключения, SQL-запросы, криптографические операции, аутентификацию, выполнение процессов и многое другое — генерируя структурированные, машиночитаемые события безопасности с автоматической кросс-сенсорной корреляцией.


Быстрый старт

root@kitploit:~
git clone https://github.com/spoofzu/jvmxray.git
cd jvmxray
mvn clean install

Во время фазы тестирования Maven небольшая программа под названием Turtle запускается под свежесобранным агентом JVMXRay. Turtle выполняет ввод-вывод файлов, криптографию, выполнение процессов, сериализацию, рефлексию и другие действия, запускающие сенсоры — поэтому успешная сборка уже даёт вам реальные журналы событий безопасности для изучения в ./target/test-jvmxray/. Также создаётся база данных SQLite по адресу ./target/test-jvmxray/common/data/jvmxray-test.db для быстрых экспериментов. Подробнее см. в документации.

Развертывание в виде Java-агента в ваших собственных приложениях:

root@kitploit:~
java -javaagent:target/jvmxray-0.0.1-agent.jar -jar yourapp.jar

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

  • Без изменения кода — Подключается к любому Java-приложению при запуске, как отладчик. Никаких изменений исходного кода, перекомпиляции или добавления зависимостей библиотек.
  • События, готовые для ИИ — Сенсоры генерируют машиночитаемые события безопасности, а не неструктурированные строки журнала. Используйте свои ИИ-инструменты для анализа поведения приложения, как и для его журналов.
  • Вписывается в вашу инфраструктуру логирования — События являются сообщениями журнала Logback. Направляйте их в Splunk, ELK, DataDog, Kafka или любое другое место назначения, поддерживаемое экосистемой Logback.
  • Реконструкция цепочек атак — Скоррелированные события с trace_id и scope_chain позволяют командам SOC отследить инцидент от HTTP-запроса через SQL-инъекцию до кражи данных в одном запросе.
  • Настраиваемая нагрузка — Стандартные свойства уровня журнала Logback определяют, какие сенсоры срабатывают и с какой детализацией. Включайте и отключайте сенсоры для каждого окружения без пересборки.

Имейте в виду, JVMXRay — это источник правды о том, что делает Java-приложение, а не механизм анализа. Анализ обеспечивается вашим централизованным решением для логирования и/или вашими проектами ИИ-инструментов.


Сенсоры

СенсорЧто отслеживает
File I/OЧтение, запись, удаление файлов, разрешения, симлинки с разрешением путей и агрегированной статистикой ввода-вывода
NetworkСокетные connect/accept/bind/close с обнаружением TLS, классификацией частных IP, таймингом
SQLЗахват запросов с определением параметризации, типом операции, длительностью, метаданными подключения
HTTPЗапрос/ответ с анализом заголовков безопасности, корреляцией пользователя/сессии
ProcessProcessBuilder.start() и Runtime.exec() с аргументами команд, длительностью, статусом завершения
CryptoCipher/KeyStore/MessageDigest/SSL с обнаружением слабых алгоритмов и проверкой силы ключа
AuthenticationОперации с сессиями, JAAS-логин, Spring Security authenticate, запросы principal с отслеживанием успеха/неудачи
API CallHttpClient.send() с URI, методом, хостом, TLS, статусом ответа, таймингом
Script EngineScriptEngine.eval() с идентификацией движка, хэшированием содержимого, обнаружением подозрительных шаблонов, уровнем риска
SerializationНативная десериализация Java, Jackson, Gson, XStream с обнаружением цепочек гаджетов
ReflectionClass.forName, Method.invoke, Field access, setAccessible с классификацией угроз
ConfigurationСистемные свойства, переменные окружения, файлы Properties, Preferences с аннотациями безопасности
LibraryСтатическая и динамическая загрузка JAR с SHA-256, координатами Maven, инвентаризацией пакетов
MonitorЗдоровье JVM: память, потоки, GC, CPU, открытые файлы, обнаружение дедлоков (интервал 60 секунд)
Uncaught ExceptionДиагностика сбоев: полный стек, состояние памяти, дамп потоков, цепочка причин, ID инцидента
App InitОдноразовый захват при запуске: версия JVM, ОС, обнаружение контейнера, переменные окружения (редактированные)
Data TransferПодсчёт байтов InputStream.read() (отключено — слишком широкий)

Корреляция событий

Каждое событие сенсора включает поля корреляции для реконструкции цепочек атак:

ПолеПримерНазначение
trace_ida1b2c3d4e5f6Связывает все события в одном контексте выполнения
scope_chainHTTP>SQL>FileIOВложенный путь сенсоров — «стек безопасности»
parent_scopeSQLНепосредственный родитель для реконструкции дерева
scope_depth3Уровень вложенности — глубина 6+ требует проверки

Цепочка области действия, такая как HTTP>Serialization>Reflection>Process, является сигнатурой атаки десериализации с первого взгляда. Столбец TRACE_ID индексирован в базе данных для быстрых корреляционных запросов.

Архитектура

root@kitploit:~
java -javaagent:jvmxray-agent.jar -jar app.jar
         |
    AgentBootstrap (isolated classloader)
         |
    ByteBuddy installs sensor interceptors
         |
    Sensors fire on method entry/exit
         |
    LogProxy merges MCC correlation context
         |
    +----------+----------+----------+
    | SQLite   | File     | Socket   |
    | Appender | Appender | Appender |
    +----------+----------+----------+
  • Java 17, ByteBuddy 1.14.17 для инъекции байт-кода
  • Logback + SLF4J для корпоративного логирования (совместимо с Splunk, ELK, DataDog)
  • Мульти-база данных: SQLite (dev), MySQL, Cassandra (production)
  • MCC (Mapped Correlation Context): отслеживание области действия в локальном потоке с очисткой TTL

Документация

  • Справочник агента — Конфигурация сенсоров, поля событий, схема базы данных
  • Общие компоненты — Настройка базы данных и утилиты
  • Список изменений — Подробные изменения в релизах
  • Архив новостей — История проекта

Благодарности

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

  • Claude Code CLI от Anthropic, Anthropic
  • Архитектура байт-кода частично основана на идеях Terse Systems, Terse Systems
  • Фреймворк логирования Logback от QOS.ch Sarl Швейцария, QOS.ch
  • Apache Software Foundation, Apache Software Foundation

Автор(ы)

Милтон Смит — создатель и руководитель проекта

Раскрытие: JVMXRay не одобрен, не поддерживается и не связан с Oracle Corporation.

Скачать инструмент
ThreadМониторинг жизненного цикла потоков (отключено — требуется исправление рекурсивного логирования)
MemoryОтслеживание выделения памяти (отключено — требуется исправление рекурсивного логирования)