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

Ключевые особенности
- Модульность и масштабируемость: Легко комбинируйте несколько специализированных агентов для проведения комплексных сканирований.
- Широкая поддержка активов: Сканируйте всё — от IP-адресов и доменов до мобильных приложений (Android, iOS, HarmonyOS) и схем API.
- Магазин агентов: Доступ к растущей библиотеке агентов сообщества и официальных агентов для популярных инструментов безопасности.
- Расширяемость: Встроенная поддержка создания и публикации собственных агентов с помощью простого фреймворка на Python.
- API в первую очередь: Включает 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, и многое другое.
Чтобы запустить любой из этих инструментов в комбинации, просто выполните следующую команду:
CLI OXO доступен через команды
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имеетoxoв качествеentrypoint. - Важно смонтировать сокет Docker, чтобы OXO мог создавать агенты на хост-машине.
Логи локального сканера
При запуске OXO в качестве локального сканера используйте --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. | |
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-репозитория.

Идеи для создания агентов
Реализации популярных инструментов, таких как:
semgrep для сканирования исходного кода.- nbtscan: сканирует сеть цели на открытые NetBIOS-серверы имён.
- onesixtyone: быстрый сканер для поиска общедоступных SNMP-сервисов.
- Retire.js: сканер, обнаруживающий использование JavaScript-библиотек с известными уязвимостями.
snallygaster: находит утечки файлов и другие проблемы безопасности на HTTP-серверах.- testssl.sh: выявляет различные слабости TLS/SSL, включая Heartbleed, CRIME и ROBOT.
TruffleHog: ищет в Git-репозиториях строки с высокой энтропией и секреты, глубоко изучая историю коммитов.- cve-bin-tool: сканирует бинарные файлы на наличие уязвимых компонентов.
- XSStrike: сканер веб-уязвимостей XSS с генеративной нагрузкой.
Subjack: инструмент для обнаружения захвата поддоменов.- DnsReaper: инструмент для обнаружения захвата поддоменов.
- Gitleaks: инструмент SAST для обнаружения и предотвращения жёстко закодированных секретов.
- ffuf: быстрый веб-фаззер, написанный на Go.
- Gobuster: инструмент для брутфорса URI, поддоменов DNS и многого другого.
Благодарности
Как проект с открытым исходным кодом в быстро развивающейся области, мы всегда открыты для вклада, будь то в виде новой функции, улучшенной инфраструктуры или более качественной документации.
Мы хотели бы поблагодарить следующих участников за помощь в том, чтобы OXO стал лучшим инструментом: