返回更新列表
新发布Jul 19, 2026

oxo v2.9.3

模块化安全扫描编排器,结合了专门用于漏洞检测、侦察和指纹识别的代理,覆盖网络、Web应用、移动应用和API。

分享

PyPI version Downloads Ostorlab blog Twitter Follow

OXO 扫描编排引擎

OXO 是一个为模块化、可扩展性和简洁性而构建的安全扫描框架。它是开源的,由 Ostorlab 维护。

OXO 引擎将专用工具协同组合,以发现漏洞并执行侦察、枚举和指纹识别等操作。

Main oxo

主要特性

  • 模块化且可扩展:轻松组合多个专用 agent 以执行全面扫描。
  • 广泛的资产支持:可扫描从 IP 地址和域名到移动应用(Android、iOS、HarmonyOS)以及 API schema 的任何内容。
  • Agent 商店:访问不断增长的社区和官方 agent 库,涵盖流行的安全工具。
  • 可扩展:内置支持使用简单的基于 Python 的框架创建和发布你自己的 agent。
  • API 优先:提供 GraphQL API,便于集成到 CI/CD 流水线和其他自动化工作流中。

要求

在本地运行扫描需要 Docker。要安装 Docker,请遵循这些 说明。

安装

OXO 作为 PyPI 上的 Python 包发布。如果你已经安装了 pip,只需运行以下命令即可安装。

pip install -U ostorlab

快速开始

OXO 附带一个商店,拥有数十个 agent,包括网络扫描 agent(如 Nmap、Nuclei 或 Tsunami)、 Web 扫描器(如 ZAP)、Web 指纹识别工具(如 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

此命令将下载并安装以下扫描 agent:

它将扫描目标 IP 地址 8.8.8.8。

Agent 以标准 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 socket 非常重要,这样 OXO 才能在宿主机上创建 agent。

本地部署扫描器日志

将 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 支持扫描多种资产类型,从而在不同平台和协议上提供全面的安全覆盖。

类别资产描述
网络ipIP 地址或 IP 范围(v4 和 v6)。
domain-name域名。
WeblinkWeb 链接,接受 URL、方法、标头和请求体。
api-schemaAPI schema(OpenAPI、GraphQL 等)。
移动android-apk / android-aabAndroid 包文件(.APK、.AAB)。
android-storeGoogle Play 商店中的 Android 应用。
ios-ipaiOS 包文件(.IPA)。
ios-storeApple App Store 中的 iOS 应用。
ios-testflightTestFlight 中的 iOS 应用。
harmonyos-apk / harmonyos-hapHarmonyOS 包文件。
其他file通用文件。
phone-number电话号码。
agent对 agent 进行元扫描。

商店

OXO 在公共商店中列出所有 agent,你可以在其中搜索并发布你自己的 agent。

Store

发布你的第一个 Agent

要编写你的第一个 agent,你可以查看完整 教程 此处。

步骤大致如下:

  • 克隆一个已设置好所有文件的模板 agent。
  • 修改 template_agent.py 文件以添加你的逻辑。
  • 修改 Dockerfile,添加任何额外的构建步骤。
  • 修改 ostorlab.yaml,添加选择器、文档、镜像和许可证。
  • 将其发布到商店。

编写完 agent 后,你可以将其发布到商店,供他人使用和发现。商店 将处理 agent 构建,并自动从你的 Git 仓库获取新版本。

Build

可构建的 Agent 想法

流行工具的实现,例如:

  • semgrep 用于源代码扫描。
  • nbtscan:扫描目标网络上开放的 NetBIOS 名称服务器。
  • onesixtyone:快速扫描器,用于发现公开暴露的 SNMP 服务。
  • Retire.js:检测使用已知漏洞 JavaScript 库的扫描器。
  • snallygaster:发现 HTTP 服务器上的文件泄露和其他安全问题。
  • testssl.sh:识别各种 TLS/SSL 弱点,包括 Heartbleed、CRIME 和 ROBOT。
  • TruffleHog:在 Git 仓库中搜索高熵 字符串和机密,深入挖掘提交历史。
  • cve-bin-tool:扫描二进制文件中的易受攻击组件。
  • XSStrike:具有生成式 payload 的 XSS Web 漏洞扫描器。
  • Subjack:子域接管扫描工具。
  • DnsReaper:子域接管扫描工具。
  • Gitleaks:用于检测和防止硬编码机密的 SAST 工具。
  • ffuf:用 Go 编写的快速 Web fuzzer。
  • Gobuster:用于暴力破解 URI、DNS 子域等的工具。

致谢

作为一个处于快速发展领域的开源项目,我们始终欢迎贡献,无论是新功能、改进的基础设施,还是更好的文档。 请参阅 CONTRIBUTING.md 开始。

我们要感谢以下贡献者帮助 OXO 成为更好的工具:

分类