
oxo v2.9.6
模块化安全扫描编排器,结合了专门用于漏洞检测、侦察和指纹识别的代理,覆盖网络、Web应用、移动应用和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)到 Web 扫描器(如 ZAP)、Web 指纹识别工具(如 WhatWeb 和 Wappalyzer)、DNS 暴力破解工具(如 Subfinder 和 Dnsx)、恶意软件文件扫描(如 VirusTotal)等等。
要组合运行这些工具中的任何一个,只需运行以下命令:
使用
oxo或ostorlab命令可访问 OXO CLI。
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设置为入口点。 - 挂载 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 | 域名。 | |
| Web | link | Web 链接,接受 URL、方法、标头和请求体。 |
api-schema | API 模式(OpenAPI、GraphQL 等)。 | |
| 移动端 | android-apk / android-aab | Android 包文件(.APK, .AAB)。 |
android-store | Google Play 商店中的 Android 应用。 | |
ios-ipa | iOS 包文件(.IPA)。 | |
ios-store | Apple App Store 中的 iOS 应用。 | |
ios-testflight | TestFlight 中的 iOS 应用。 | |
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 Web 漏洞扫描器,带有生成型载荷。
Subjack:子域名劫持扫描工具。- DnsReaper:子域名劫持扫描工具。
- Gitleaks:用于检测和预防硬编码秘密的 SAST 工具。
- ffuf:用 Go 编写的快速 Web 模糊器。
- Gobuster:用于暴力破解 URI、DNS 子域名等的工具。
致谢
作为一个快速发展领域的开源项目,我们始终欢迎贡献,无论是新功能、改进的基础设施,还是更好的文档。
我们要感谢以下贡献者在使 OXO 成为更好的工具方面提供的帮助: