持续漏洞扫描
- Tier: 旗舰版
- Offering: JihuLab.com, 私有化部署
History
- 持续依赖扫描使用功能标志 dependency_scanning_on_advisory_ingestion 和 package_metadata_advisory_scans 引入。默认启用。
- 在极狐GitLab 16.10 中 GA。功能标志 dependency_scanning_on_advisory_ingestion 和 package_metadata_advisory_scans 被删除。
- 持续容器扫描因入狱极狐GitLab 16.8,使用名为 container_scanning_continuous_vulnerability_scans 的功能标志引入。默认禁用。
- 持续容器扫描在极狐GitLab 16.10 中,为私有化部署启用。
- 在极狐GitLab 17.0 中 GA。功能标志 container_scanning_continuous_vulnerability_scans 被删除。
- 针对容器扫描和依赖扫描,在新组件上出发 CVS 因入狱极狐GitLab 17.3,使用名为 dependency_scanning_using_sbom_reports 的功能标志引入。默认禁用。
- 在极狐GitLab 17.5 中,仅在依赖扫描的新组件上触发 CVS 的功能,在私有化部署上启用。
- 在极狐GitLab 17.10 中,功能标志 dependency_scanning_using_sbom_reports 被删除。
持续漏洞扫描
持续漏洞扫描通过将项目依赖的组件名称和版本与最新的安全公告进行比较来查找安全漏洞。
当持续漏洞扫描触发包含支持的软件包类型的所有项目进行扫描时,可能会出现新的漏洞。
由持续漏洞扫描创建的漏洞使用 极狐GitLab SBoM Vulnerability Scanner 作为扫描器名称。
与基于 CI 的安全扫描相比,持续漏洞扫描通过后台作业(Sidekiq)执行,而不是 CI 流水线,并且不会生成安全报告产物。
前提条件
- 一个项目具有由持续漏洞扫描支持的依赖项。请参阅如何生成 CycloneDX SBOM 报告。
- 安全公告同步到极狐GitLab 实例。
支持的软件包类型
持续漏洞扫描支持以下 PURL 类型的组件:
- composer
- conan
- deb
- gem
- golang
- maven
- npm
- nuget
- pypi
- rpm
- apk
不支持 Go 伪版本。引用 Go 伪版本的项目依赖项从不被视为受影响,因为这可能导致假阴性。
不支持包含 ^ 的 RPM 版本。
不支持包含前导零的 APK 版本。
不支持红帽发行版中的 RPM 软件包。
如何生成 CycloneDX SBOM 报告
使用 CycloneDX SBOM 报告在极狐GitLab 中注册项目组件。
极狐GitLab 提供安全分析器,可以生成与极狐GitLab兼容的报告:
- 容器扫描
- 镜像仓库容器扫描
- 依赖扫描
- 依赖扫描 CI/CD 组件(实验性)
检查新的漏洞
通过持续漏洞扫描检测到的新漏洞在漏洞报告中可见。 然而,它们不会在依赖列表或检测到受影响的 SBOM 组件的流水线中列出。
漏洞根据以下场景创建:
-
在添加或更新安全公告后,可能需要几个小时才能将相应的漏洞添加到您的项目中, 前提是代码库保持不变。仅在最近 14 天内发布的公告被考虑用于持续漏洞扫描。
-
对于现有的安全公告,仅当检测到新组件时才创建漏洞,并且以下条件之一为真:
漏洞不再被检测时
持续漏洞扫描在发布新公告时自动创建漏洞,但无法判断项目中是否不再存在漏洞。为此,极狐GitLab 仍然需要在默认分支的流水线中执行容器扫描或依赖扫描,并生成包含最新信息的相应安全报告产物。 当这些报告被处理,并且不再包含一些漏洞时,即使这些漏洞是由持续漏洞扫描创建的,它们也会被标记为如此。此行为在 17.1 中引入,并适用于极狐GitLab 维护的扫描器(Trivy、gemnasium、gemnasium-python、gemnasium-maven)。
安全公告
持续漏洞扫描使用软件包元数据数据库,这是由极狐GitLab 管理的服务,汇集许可和安全公告数据,并定期发布更新,供 JihuLab.com 和极狐GitLab 私有化部署实例使用。
在 JihuLab.com 上,极狐GitLab 管理同步,并对所有项目可用。
在极狐GitLab 私有化部署中,您可以在极狐GitLab 实例的管理员区域选择要同步的软件包镜像仓库元数据。