Docker 尝试在gitlab ci工作流中使用zap
我正在尝试在公司的持续集成工作流中自动化Zap的使用。我们使用的是gitlab ci,我想使用docker图像嵌入Zap作为一项服务,第一次,只需在合法的目标网站(如itsecgames.com)上进行快速扫描 我使用暴露zap.sh的docker图像作为入口点 我的问题是: 如何在gitlab ci YAML脚本中将此图像用作服务,以便在itsecgames.com上进行快速扫描 有关资料: 这是我的gitlab-ci.yml:Docker 尝试在gitlab ci工作流中使用zap,docker,gitlab-ci,zap,Docker,Gitlab Ci,Zap,我正在尝试在公司的持续集成工作流中自动化Zap的使用。我们使用的是gitlab ci,我想使用docker图像嵌入Zap作为一项服务,第一次,只需在合法的目标网站(如itsecgames.com)上进行快速扫描 我使用暴露zap.sh的docker图像作为入口点 我的问题是: 如何在gitlab ci YAML脚本中将此图像用作服务,以便在itsecgames.com上进行快速扫描 有关资料: 这是我的gitlab-ci.yml: image: openjdk:8-jdk variables:
image: openjdk:8-jdk
variables:
PROJECT_NAME: "psa-preevision-viewer"
stages:
- zap
zap-scanner:
services:
- nhsbsa/owasp-zap:latest
stage: zap
script:
- nhsbsa__owasp-zap -cmd -quickurl http://itsecgames.com/ -quickprogress
当gitlab运行程序尝试解决此作业时,我收到以下错误消息:
$ nhsbsa__owasp-zap -cmd -quickurl http://itsecgames.com/ -quickprogress
/bin/bash: line 27: nhsbsa__owasp-zap: command not found
ERROR: Job failed: exit code 1
在这一点上,我尝试了不同的方法,比如直接调用zap.sh,而不是nhsbsa_u_owasp-zap,或者nhsbsa owasp-zap(根据,这两个名称应该都可以)
我可能严重误解了这一点,但在gitlab ci中使用服务是否与在我自己的计算机上提取图像并调用docker run相同?事实上,如果我使用
docker run nhsbsa/owasp-zap -cmd -quickurl http://itsecgames.com/ -quickprogress
我得到了一个包含已发现漏洞的XML
如果这很重要:
- gitlab runner版本是1.11.1
- gitlab版本是社区版8.7.4
@Simon Bennetts有没有一种方法可以使用curl之类的东西将测试请求传递给远程zap守护进程?可能值得提出一个问题?或者你可以直接问维护人员-他们的电子邮件地址在Dockerfile中:如果你找到答案,请发回,我很想知道:)好的,我给维护人员发了邮件,如果他回答我,我会发到这里:)
nhsbsa_uowasp-zap
是主机名,你可以ping,您可以将其配置为代理,但不能将其作为本地命令运行。您可以使用从远程主机控制Zap。这包括开始扫描、解析结果等。非常感谢您的洞察力:)我复制了您的示例,没有关于声纳的部分,但我仍然无法让它执行我想要的分析。我按照的示例将相应的概要文件添加到pom.xml中。我收到以下错误:[INFO]正在目标上启动ZAP分析:http://itsecgames.com [错误]创建新ZAP会话时出错。br.com.softplan.security.zap.zaproxy.clientapi.core.ClientApiException:java.net.SocketException:server文件意外结束
知道可能的原因吗?
mvn -B --non-recursive -Pzap -DzapPort=$NHSBSA__OWASP_ZAP_PORT_8080_TCP_PORT -DzapHost=$NHSBSA__OWASP_ZAP_PORT_8080_TCP_ADDR
-DzapTargetUrl=$baseUrl
-DsonarUrl=$SONAR_URL -Dsonar.branch=release
br.com.softplan.security.zap:zap-maven-plugin:analyze sonar:sonar