Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
工具/GitHubGitHub/hahwul/mzap
漏洞扫描器动态分析 (沙盒)API安全测试Web安全渗透测试DevSecOps
GitHubhahwul/mzap

mzap

⚡️ 多目标 ZAP 扫描

查看仓库
11218116天前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

mzap

mzap 是一个用于多目标 ZAP 扫描的 Crystal CLI 工具。它将目标分发到一个或多个 ZAP API 主机,支持可选的等待模式,并可以导出报告。

功能

  • 扫描命令:spider、ajaxspider、clientspider(ZAP 2.16+)、ascan、pscan
  • 支持 openapi、soap、graphql 和 postman 的 API 定义导入
  • ZAP 2.16+ 的 Sites Tree export/prune,用于差异/增量扫描
  • 扫描策略发现(policies)
  • 多主机轮询调度分发
  • 可选的等待/轮询模式,支持超时
  • 报告导出(html/pdf/json/md/sarif),带有后备行为
  • --fail-on 风险门控,用于 CI 退出码
  • 停止命令:spider、ajaxspider、clientspider、ascan 或 all
  • 可选从 $HOME/.config/mzap/config.toml 及旧路径加载配置

要求

  • Crystal >= 1.19.1
  • 一个正在运行的 ZAP API 端点(或多个端点)

安装

Homebrew

root@kitploit:~
brew install hahwul/mzap/mzap

从源码构建

root@kitploit:~
shards install --frozen
crystal build --release src/mzap_cli.cr -o bin/mzap

不构建直接运行

root@kitploit:~
crystal run src/mzap_cli.cr -- version

Docker 镜像

root@kitploit:~
docker build -t mzap .
docker run --rm -v "$PWD:/work" mzap spider --urls /work/samples/target.txt --apis http://host.docker.internal:8090

用法

root@kitploit:~
Usage:
  mzap [command]

Subcommands:
  ajaxspider    在 ZAP 中启动 Ajax Spider 扫描
  ascan         在 ZAP 中启动主动扫描任务
  clientspider  在 ZAP 中启动客户端爬虫扫描(ZAP 2.16+)
  help          显示命令的帮助信息
  import        导入 API 定义(openapi/soap/graphql/postman)
  policies      列出 ZAP 中的主动扫描策略
  pscan         等待 ZAP 中的被动扫描完成
  sitestree     导出或修剪 ZAP 站点树(ZAP 2.16+)
  spider        在 ZAP 中启动爬虫扫描
  stop          停止正在运行的扫描
  version       显示 mzap 版本

Flags:
  --apikey string        ZAP API 密钥(禁用 API 密钥认证时可省略)
  --apis string          逗号分隔的 ZAP API 主机 URL
                         例如 --apis http://localhost:8090,http://192.168.0.4:8090(默认 "http://localhost:8090")
  --config string        配置文件路径(支持 TOML;默认:$HOME/.config/mzap/config.toml)
  --context string       ZAP 上下文文件,扫描前导入
  --fail-on string       如果警报达到或超过指定风险级别则以退出码 1 失败
  --format string        导入的 API 定义格式(openapi/soap/graphql/postman)
  --target-url string    导入的目标/端点 URL 覆盖
  --policy string        主动扫描的扫描策略名称
  --report-format        扫描完成后的报告格式(html/pdf/json/md/sarif)
  --report-out           报告输出路径(默认:mzap-report-<timestamp>.<ext>)
  --concurrency          并发扫描分发的数量(默认 1)
  --wait                 等待启动的扫描完成
  --wait-interval        等待时的轮询间隔(秒,默认 2)
  --wait-timeout         等待超时时间(秒,默认 0:无超时)
  -h, --help             显示 mzap 的帮助信息
  --urls string          URL 列表文件路径(例如 --urls hosts.txt)

运行 mzap help <command> 查看特定命令的标志。

示例

root@kitploit:~
# 使用两个 ZAP API 主机进行 spider 扫描
mzap spider --urls samples/target.txt --apis http://localhost:8090,http://192.168.0.4:8090

# 运行扫描,等待完成,并生成 HTML 报告
mzap spider --urls samples/target.txt --apis http://localhost:8090 --wait --report-format html --report-out reports/mzap.html

# Client Spider(基于浏览器的爬虫,ZAP 2.16+;需要 Client Side Integration 插件)
mzap clientspider --urls samples/target.txt --apis http://localhost:8090 --wait

# 导入 OpenAPI 定义,等待被动扫描,以高严重性警报为 CI 门控
mzap import --format openapi --urls samples/specs.txt --target-url https://api.example.com \
  --apis http://localhost:8090 --wait --report-format sarif --fail-on high

# 从标准输入导入 API 规范
echo https://api.example.com/openapi.json | mzap import --format openapi --urls -

# 发现可用的扫描策略(然后使用 `ascan --policy` 使用其中一个)
mzap policies --apis http://localhost:8090

# 站点树基线,用于差异扫描(路径由 ZAP 守护进程解析)
mzap sitestree export baseline.tree --apis http://localhost:8090
mzap sitestree prune baseline.tree --apis http://localhost:8090

# 停止所有正在运行的扫描类型
mzap stop all --apis http://localhost:8090

导入 API: mzap import 会填充 ZAP 的站点树并让被动扫描运行;要在之后主动扫描导入的端点,请对同一目标运行 mzap ascan。对于本地文件,--urls(和 --target-url)中的路径由 ZAP 守护进程解析,因此当 ZAP 在 Docker 中运行时,请将它们挂载到容器中。

配置

mzap 在存在配置时会自动加载。优先级为:

  1. 显式 --config 路径(如果存在)
  2. $HOME/.config/mzap/config.toml
  3. $HOME/.config/mzap/config + 扩展名变体
  4. $HOME/.mzap + 扩展名变体

CLI 标志始终覆盖配置值。

root@kitploit:~
[mzap]
apis = ["http://localhost:8090", "http://192.168.0.4:8090"]
apikey = "your-zap-api-key"
urls = "samples/target.txt"
wait = true
wait_interval = 2
wait_timeout = 0
report_format = "html"
report_out = "reports/mzap.html"

GitHub Action

此仓库包含一个基于 Docker 的 GitHub Action(action.yml)。

root@kitploit:~
- name: Run mzap
  uses: hahwul/mzap@<tag>
  with:
    arguments: "spider --urls samples/target.txt --apis http://localhost:8090"

开发

root@kitploit:~
# 测试
crystal spec

# 发布构建
crystal build --release src/mzap_cli.cr -o bin/mzap
下载工具