
oxo v2.9.3
Модульный оркестратор сканирования безопасности, который объединяет специализированные агенты для обнаружения уязвимостей, разведки и идентификации в сетях, веб-приложениях, мобильных приложениях и API.
OXO Scan Orchestration Engine
OXO — это фреймворк для сканирования безопасности, созданный с упором на модульность, масштабируемость и простоту. Он имеет открытый исходный код и поддерживается компанией Ostorlab.
OXO Engine объединяет специализированные инструменты для совместной работы по поиску уязвимостей и выполнению таких действий, как разведка, перечисление и фингерпринтинг.

Ключевые возможности
- Модульность и масштабируемость: легко объединяйте несколько специализированных агентов для проведения комплексных сканирований.
- Широкая поддержка активов: сканируйте что угодно — от 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 поддерживает сканирование нескольких типов активов, что обеспечивает комплексное покрытие безопасности для разных платформ и протоколов.
| Категория | Актив | Описание |
|---|---|---|
| Сеть | ip | IP-адрес или диапазон IP-адресов (v4 и v6). |
domain-name | Доменное имя. | |
| Веб | link | Веб-ссылка, принимающая URL, метод, заголовки и тело запроса. |
api-schema | Схема API (OpenAPI, GraphQL и т. д.). | |
| Мобильные | android-apk / android-aab | Пакетные файлы Android (.APK, .AAB). |
android-store | Android-приложение в Google Play Store. | |
ios-ipa | Пакетный файл iOS (.IPA). | |
ios-store | iOS-приложение в Apple App Store. | |
ios-testflight | iOS-приложение в TestFlight. | |
harmonyos-apk / harmonyos-hap | Пакетные файлы HarmonyOS. | |
| Другое | file | Универсальный файл. |
phone-number | Номер телефона. | |
agent | Мета-сканирование агента. |
Магазин
OXO перечисляет всех агентов в публичном магазине, где вы можете искать, а также публиковать своих собственных агентов.

Опубликуйте своего первого агента
Чтобы написать своего первого агента, вы можете ознакомиться с полным руководством здесь.
Шаги в основном следующие:
- Клонируйте шаблонного агента со всеми уже настроенными файлами.
- Измените файл
template_agent.py, добавив свою логику. - Измените
Dockerfile, добавив любые дополнительные шаги сборки. - Измените
ostorlab.yaml, добавив селекторы, документацию, образ и лицензию. - Опубликуйте его в магазине.
После того как вы написали своего агента, вы можете опубликовать его в магазине, чтобы другие могли им воспользоваться и найти его. Магазин возьмёт на себя сборку агента и автоматически подхватит новые релизы из вашего Git-репозитория.

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