1. 持续集成
  2. 词汇表

快速上手

本文以示例制品 fastjson 作为扫描对象,若项目内已有制品,可以直接进行扫描。

得益于 CODING 制品代理功能,在拉取制品至本地时将自动上传至制品仓库。点击示例制品获取相关信息,若不清楚如何使用 Maven 制品仓库,请参考 快速开始

1. 创建扫描方案

前往【制品管理】->【制品扫描】,点击左上角的蓝色 + 号创建一个新的扫描方案,输入扫描方案名称、描述、扫描规则和质量红线标准,即可完成创建。

方案类型

扫描方案支持安全漏洞扫描与移动端安装包质量检查两种类型;使用安全漏洞扫描类型能够筛选漏洞等级与 CVE 漏洞白名单。移动端安装包质量检查方案由「腾讯云安装包质量检查 IPT」提供主要能力,点击了解详情

扫描规则

扫描规则决定了该扫描方案中能够被检查出来的漏洞。若仅勾选了「高危」的漏洞等级,则其他等级的漏洞将不会被统计,即使存在高于「高危」等级的漏洞也不会被纳入检查。

CVE 漏洞白名单

用于在扫描过程中忽略特定类型的漏洞。你可以给某种类型的漏洞定义一个 CVE 漏洞编号并在白名单处填写,若制品存在 CVE-2020-9794 类型的漏洞则不会被纳入统计范围,点击查看 CVE 漏洞收录

⚠️ 在扫描过程中,漏洞扫描仅会在扫描规则中勾选的等级范围中进行,其他等级均会被过滤,然后才会判断 CVE 漏洞白名单中规定的具体漏洞编号。例如用户在漏洞扫描中只选择了 “危急” 的漏洞等级,而又在 CVE 漏洞白名单中填入了一个 “低危” 等级的漏洞,此等级的漏洞会被忽略。

高级选项

在高级配置中可以自动禁止未扫描完成 / 存在质量问题的制品被下载,防止存在漏洞的制品被意外使用。

2. 编辑扫描方案

对于已创建的扫描方案,点击右上角的「设置」或「规则配置」进入设置页面。

您可以在此处编辑方案名称或描述、查看重新勾选扫描规则中的漏洞等级和质量红线标准。

3. 触发扫描方案

扫描方案支持自动与手动两种触发方式。

自动扫描

点击右上角的 ··· 按钮,进入方案应用页,您可以在此处配置自动触发扫描方案。

打开自动扫描开关后,当前方案所应用的制品仓库有更新时将自动触发扫描。扫描筛选默认为「全部」,即任一制品仓库有更新时会自动触发此扫描方案。

勾选「按条件筛选」后可以为扫描方案设置应用范围与触发条件。例如下图,当 pypi-gowrite-go 制品仓库有任何制品更新时就会自动触发该扫描方案。

你还可以对扫描方案添加更加细致的制品筛选条件,如下图当 test 制品的 release 版本有更新时,将对此制品单独进行扫描。

手动扫描

有三种手动触发扫描的方式:触发单个扫描方案、批量触发制品扫描与在持续集成流水线中添加制品扫描。

点击扫描方案右上角的批量扫描可以在全部制品仓库中执行扫描,或设置扫描范围与扫描筛选条件。

在持续集成流水线中也支持手动添加制品扫描单元。

4. 分析扫描结果

各标示结果的图标意义:

您可以在扫描方案中与制品仓库列表中进行查看与分析。

将鼠标移至标示处将会弹窗扫描结果。

扫描对象 Demo

Docker 制品

Docker Hub 上排名靠前的主流镜像均可以扫描出安全漏洞,推荐采用以下镜像,类别涵盖 OS、数据库、Web 服务等,同时选取近几年发布的版本。

镜像名字 镜像版本 镜像大小 ID
alpine latest 5.58 MB sha256:389fef7118515c70fd6c0e0d50bb75669942ea722ccb976507d7b087e54d5a23
elasticsearch 2007.1.1 444.498 MB sha256:b0e9f9f047e6b49bdf540f84a9cd9004886bd17bb5bedd27692f1b4d1ec41355
mysql 2005.7.26 118.397 MB sha256:e9c354083de75cbcde66071c228fca267d0e946fb41a5399f58265e5a858fcb4
node lts-jessie 344.187 MB sha256:6f7f341ab8b86ae1e8ce376b8f962f33d0cd3d9d9cd07acd77396d91bac34d8b
ubuntu 16.04 43.716 MB sha256:9499db7817713c4d10240ca9f5386b605ecff7975179f5a46e7ffd59fff462ee
httpd 2.4.46 51.850 MB sha256:dd85cdbb99877b73f0de2053f225af590ab188d79469eebdb23ec2d26d0d10e8
elixir 2001.8.2 444.784 MB sha256:c53f2a03409dbc7882ce7f80f221c1112648c4f487b05b8e85c7916ff6d556f6
jenkins 2.46.3 291.624 MB sha256:df5bba7c222b6afb99907c184b127ac575854d288384369713f42d1db7238550
mariadb 2010.4.5 110.77 MB sha256:5071d88352b660d3f12c7b0dd6a6a6ee50a44506e4f1845ebbf114cfead5471c
mongo 4.1.13-bionic 138.847 MB sha256:d93e3cc722d80231284939241e62dbd954f01007dc629b126001b4d7adce439b
nginx 1.18 51.089 MB sha256:05f64a802c2631b8a18edfa3288d87cb961017848bb4722aa80a9b2d1c6b91ed
postgres 2009.6.13 109.440 MB sha256:a6cd86e1dfceceaf14408dbd29f6e5001296db8dbe2c34686a0432b5d102a869
python 3.6 324.031 MB sha256:bd4a91d81d7ea3c06eee2d41748fb7781e9e1599eaf9d9de5827f406ce4febe7
rabbitmq 2003.7.15 75.599 MB sha256:b3639fca0afddce8ec2770101316bfbd17f9582234c128dd3991865a6a9db06c
redis 5.0.5 33.593 MB sha256:63130206b0fa808e4545a0cb4a1f14f6d40b8a7e2e6fda0a31fd326c2ac0971c
registry 2002.4.1 9.479 MB sha256:8ff6a4aae6575dace6b603626816e74e71e93aa54dfb670daff0a7426706e58c
ruby 2002.5.5 319.239 MB sha256:e93b746e985b5972b2c674ec2e67efc535b86addd107c886505e254afdb771bc
tomcat 9.0.20 319.221 MB sha256:ce15fe2bbf240cb610a970b26f0fd9d4cc78ad52a62b049773840076e7c98117
jetty 9.4.18-jre8 258 MB sha256:9b7cfb40b7f4b3aaab1f50c4ca270acd53caf6cf9c2c04e332eedd72bc3006c9
traefik latest 92.4 MB sha256:b52fea93906adbf3a0068165e55c2640a0efa634f983334c78db5f96476df9e8

npm 制品

 "eslint": "4.18.2"

Maven 制品

<dependencies>
      <dependency>
          <groupId>com.alibaba</groupId>
          <artifactId>fastjson</artifactId>
          <version>1.1.15</version>
      </dependency>
  </dependencies>

上一篇制品库权限
最近更新
感谢反馈有用
感谢反馈没用

在阅读中是否遇到以下问题?

您希望我们如何改进?