You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从OWASP ZAP守护进程会话导出HTML等可读扫描报告

解决方案

无需调整现有守护进程的核心代理配置,仅需修正少量配置细节,搭配对应指令即可完成可读报告导出,同时解决会话无法导入GUI的问题:

1. 修正现有启动配置的异常点

当前启动命令存在两个容易引发故障的细节,调整后即可解决会话无法导入GUI的问题:

  • -newsession指定的会话路径缺少ZAP默认识别的.session后缀,将该段配置修改为-newsession $INIT_CWD/zap-results/session.session,ZAP GUI即可正常识别生成的会话文件
  • 测试执行完成后不要强杀ZAP进程,否则会导致会话文件写入损坏,测试结束后先调用优雅关闭接口:
curl "http://localhost:8080/JSON/core/action/shutdown/"

等待进程自行退出即可,此时生成的.session文件可直接在ZAP GUI中打开加载。

2. 导出可读报告的两种实现方式

你提到的-last_scan_report参数在2022版ZAP中已正式废弃,改用官方核心报告模块能力即可,两种方式按需选择:

方式一:测试完成后直接调用API生成(适配守护进程场景,推荐)

所有Cypress用例执行完成、流量全部经过ZAP代理后,直接在本地调用ZAP开放的报告生成接口即可,由于你已配置api.disablekey=true,无需携带API密钥:

curl "http://localhost:8080/JSON/core/action/generateReport/?title=Cypress代理扫描报告&template=traditional-html&reportDir=$INIT_CWD/zap-results/&reportFileName=zap-scan-report.html&overwrite=true"

相关参数说明:

  • template支持替换为其他输出格式,常用可选值如下:
    • modern-html:带交互筛选能力的新版HTML报告
    • report-pdf:PDF格式报告
    • report-md:Markdown格式报告
    • report-json:结构化JSON格式报告,可用于二次加工
  • 接口调用成功后会直接在指定目录生成报告文件,无需重启ZAP进程

方式二:基于留存会话离线命令行导出

如果不想在测试流程中插入API调用,可等ZAP优雅关闭、会话文件完整留存后,单独执行命令加载会话导出报告:

java -jar ./zap/zap-D-2022-05-16.jar -cmd -session $INIT_CWD/zap-results/session.session -exportreport $INIT_CWD/zap-results/zap-report.html -reporttitle "Cypress代理扫描报告" -template traditional-html

该命令会以无界面命令行模式启动ZAP,加载已有的测试会话文件,生成对应报告后自动退出,无需启动GUI。

补充说明

如果仅代理Cypress测试流量,ZAP默认只会执行被动扫描,生成的报告将包含所有代理请求、被动扫描识别的安全告警;如果需要追加主动爬虫、主动扫描结果,在生成报告前调用对应API触发扫描任务即可,无需修改基础代理配置。


内容的提问来源于stack exchange,提问作者Brian

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.01 22:40:50