将ZAP与Jenkins集成时出现「处理请求时发生问题」报错如何解决?
OWASP ZAP与本地Jenkins集成报错排查请求
我正在尝试将ZAP与Jenkins集成,参考的教程为LinkedIn相关DevSecOps Pipeline配置文档。我使用的是Mac设备,Jenkins安装在本地,已按照文档完成所有设置,但依然遇到报错。
已执行操作步骤
- 进入「Plugin Manager」安装「Official OWASP ZAP Jenkins Plugin」

- 进入「Global tool Configuration」,在「Custom Tool」中配置OWASP ZAP的安装路径

- 进入「Configuration」设置ZAP的Host、Port及环境变量


- 创建名为ZAP的Freestyle Project
- 在「Build Environment」中勾选ZAP对应的「Install Custom Tools」,点击「Tool Selection」可查看此前配置的ZAP相关信息

- 进入「Build」流程配置ZAP路径、host、port等参数,可根据需求调整

- 将「Installation Method」设置为ZAP所在的「System Installed」,配置环境变量并设置「ZAP Home Directory」


- 配置待执行漏洞评估的Web应用的扫描参数,进入「Session Management」选择「Persistent Session」


- 配置报告生成规则,设置自动生成并发布扫描的HTML报告

完成全部配置后点击应用,出现如下报错:
排查方案
你可以按以下顺序逐一排查问题,90%以上的Mac环境下该报错都是前两类问题导致:
1. 权限问题排查
Mac的安全机制默认会阻止未认证的第三方应用被jenkins用户调用,同时jenkins运行账户默认没有/Applications目录下第三方应用的访问权限:
- 先打开「系统设置→隐私与安全性」,找到ZAP对应的运行阻止提示,选择「允许仍要打开」
- 终端执行命令给ZAP目录开放jenkins用户访问权限:
sudo chown -R jenkins:staff /Applications/OWASP\ ZAP.app
如果你的ZAP安装在自定义路径,替换成对应的路径即可。
2. ZAP Home路径配置校验
Mac下ZAP的可执行脚本不在应用根目录,你配置的「ZAP Home Directory」必须是存在zap.sh启动脚本的路径:
- 默认安装的ZAP正确Home路径为:
/Applications/OWASP ZAP.app/Contents/Java/ - 如果你使用的是用户级别的ZAP配置,也可以填用户目录下的路径:
~/Library/Application Support/ZAP/
配置完成后可以先手动进入该目录,执行./zap.sh -h确认能正常输出帮助信息。
3. 环境变量一致性校验
Jenkins运行时的PATH环境变量和你本地终端登录的PATH不一致,不会继承你本地用户的环境配置:
- 进入Jenkins「全局配置→系统环境变量」,把ZAP的启动路径加到PATH变量中
- 也可以在Freestyle项目的Build步骤最前面加一行执行命令:
export PATH=$PATH:/Applications/OWASP ZAP.app/Contents/Java/
4. 端口与版本兼容性校验
- 执行
lsof -i :你配置的ZAP端口号确认端口没有被本地其他进程占用,如有占用换用空闲端口即可 - 确认你安装的OWASP ZAP Jenkins插件版本和本地ZAP的大版本匹配,建议同时更新到各自的最新稳定版避免兼容问题
内容的提问来源于stack exchange,提问作者Apurva
相关产品推荐
相关产品推荐

