Назад к обновлениям
New releaseJul 19, 2026

oxo v2.9.3

Модульный оркестратор сканирования безопасности, который объединяет специализированные агенты для обнаружения уязвимостей, разведки и идентификации в сетях, веб-приложениях, мобильных приложениях и API.

Поделиться

PyPI version Downloads Ostorlab blog Twitter Follow

OXO Scan Orchestration Engine

OXO — это фреймворк для сканирования безопасности, созданный с упором на модульность, масштабируемость и простоту. Он имеет открытый исходный код и поддерживается компанией Ostorlab.

OXO Engine объединяет специализированные инструменты для совместной работы по поиску уязвимостей и выполнению таких действий, как разведка, перечисление и фингерпринтинг.

Main oxo

Ключевые возможности

  • Модульность и масштабируемость: легко объединяйте несколько специализированных агентов для проведения комплексных сканирований.
  • Широкая поддержка активов: сканируйте что угодно — от IP-адресов и доменов до мобильных приложений (Android, iOS, HarmonyOS) и схем API.
  • Магазин агентов: доступ к растущей библиотеке社区 и официальных агентов для популярных инструментов безопасности.
  • Расширяемость: встроенная поддержка создания и публикации собственных агентов с использованием простого фреймворка на Python.
  • API First: включает GraphQL API для лёгкой интеграции в CI/CD-конвейеры и другие автоматизированные рабочие процессы.

Требования

Для локального запуска сканирований требуется Docker. Чтобы установить Docker, следуйте этим инструкциям.

Установка

OXO поставляется как Python-пакет на PyPI. Чтобы установить его, просто выполните следующую команду, если у вас уже установлен pip.

pip install -U ostorlab

Начало работы

OXO поставляется с магазином, в котором представлены десятки агентов: от агентов сетевого сканирования, таких как Nmap, Nuclei или Tsunami, веб-сканеров, таких как ZAP, инструментов веб-фингерпринтинга, таких как WhatWeb и Wappalyzer, инструментов брутфорса DNS, таких как Subfinder и Dnsx, сканирования файлов на вредоносное ПО, такого как VirusTotal, и многого другого.

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

OXO CLI доступен с помощью команд oxo или ostorlab.

oxo scan run --install --agent agent/ostorlab/nmap --agent agent/ostorlab/tsunami --agent agent/ostorlab/nuclei ip 8.8.8.8

Эта команда загрузит и установит следующие агенты сканирования:

Она просканирует целевой IP-адрес 8.8.8.8.

Агенты поставляются в виде стандартных Docker-образов.

Управление сканированием

Чтобы проверить статус сканирования, выполните:

oxo scan list

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

oxo vulnz list --scan-id <scan-id>
oxo vulnz describe --vuln-id <vuln-id>

Чтобы остановить запущенное сканирование, выполните:

oxo scan stop --scan-id <scan-id>

Docker-образ

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

docker run -v /var/run/docker.sock:/var/run/docker.sock ostorlab/oxo:latest scan run --install --agent agent/ostorlab/nmap ip 8.8.8.8

Примечания:

  • Команда начинается сразу с scan run, потому что в образе ostorlab/oxo в качестве entrypoint указан oxo.
  • Важно смонтировать Docker-сокет, чтобы OXO мог создавать агентов на хост-машине.

Логи On-Prem сканера

При запуске OXO в качестве on-prem сканера используйте --persist-logs, чтобы записывать логи сканера на диск:

oxo scanner --scanner-id <scanner-uuid> --persist-logs

По умолчанию логи записываются в ~/.ostorlab/scanner.log. Чтобы выбрать другой файл:

oxo scanner --scanner-id <scanner-uuid> --persist-logs --log-file /var/log/ostorlab/scanner.log

Чтобы изменить уровень детализации сохраняемых логов:

oxo scanner --scanner-id <scanner-uuid> --persist-logs --log-level DEBUG

Активы

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

КатегорияАктивОписание
СетьipIP-адрес или диапазон IP-адресов (v4 и v6).
domain-nameДоменное имя.
ВебlinkВеб-ссылка, принимающая URL, метод, заголовки и тело запроса.
api-schemaСхема API (OpenAPI, GraphQL и т. д.).
Мобильныеandroid-apk / android-aabПакетные файлы Android (.APK, .AAB).
android-storeAndroid-приложение в Google Play Store.
ios-ipaПакетный файл iOS (.IPA).
ios-storeiOS-приложение в Apple App Store.
ios-testflightiOS-приложение в TestFlight.
harmonyos-apk / harmonyos-hapПакетные файлы HarmonyOS.
ДругоеfileУниверсальный файл.
phone-numberНомер телефона.
agentМета-сканирование агента.

Магазин

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

Store

Опубликуйте своего первого агента

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

Шаги в основном следующие:

  • Клонируйте шаблонного агента со всеми уже настроенными файлами.
  • Измените файл template_agent.py, добавив свою логику.
  • Измените Dockerfile, добавив любые дополнительные шаги сборки.
  • Измените ostorlab.yaml, добавив селекторы, документацию, образ и лицензию.
  • Опубликуйте его в магазине.

После того как вы написали своего агента, вы можете опубликовать его в магазине, чтобы другие могли им воспользоваться и найти его. Магазин возьмёт на себя сборку агента и автоматически подхватит новые релизы из вашего Git-репозитория.

Build

Идеи для агентов, которые стоит создать

Реализации популярных инструментов, таких как:

Категории