什么是 GitLab Dependency Scanning?
GitLab Dependency Scanning 是一个直接集成到 GitLab CI/CD 管道中的强大安全功能。它会自动识别项目依赖项中的已知漏洞。通过在每次代码提交时运行扫描,它帮助开发人员和安全团队实现“左移”,在开发生命周期的早期(在部署到生产环境之前)捕获和修复安全问题。
主要特点
- 无缝 CI/CD 集成: 在 GitLab CI/CD 管道中自动运行,只需最少的配置。
- 漏洞报告: 直接在合并请求的用户界面中提供详细的漏洞报告,让开发人员能够看到其更改的影响。
- 支持多种语言: 支持广泛的包管理器和语言,包括 Ruby、Python、Node.js、Java、.NET 等。
- 安全仪表板: 在一个集中的仪表板中提供项目和组的安全状况概览(Premium/Ultimate 功能)。
- 可操作的见解: 清楚地识别易受攻击的依赖项、漏洞的严重性,并通常提供修复路径。
使用案例
- 实施 DevSecOps: 将安全扫描直接嵌入到开发工作流程中,使安全成为共同的责任。
- 合规与审计: 自动对照已知漏洞数据库检查依赖项,以帮助满足合规性要求。
- 风险管理: 主动识别和减轻与使用第三方和开源库相关的风险。
- 安全应用程序开发: 确保新的代码更改不会通过依赖项引入新的安全漏洞。
入门指南
开始使用 GitLab Dependency Scanning 非常简单。您只需在项目的 .gitlab-ci.yml 文件中包含预定义的 CI/CD 模板即可。
- 确保您的项目有可用的 runner。
- 将以下内容添加到您的
.gitlab-ci.yml文件中:
```yaml include:
- template: Security/Dependency-Scanning.gitlab-ci.yml
您现有的 CI/CD 作业
例如:build, test, deploy…
一旦您提交此更改,依赖项扫描作业将在新的管道中自动运行。漏洞将在管道视图的“安全”选项卡和合并请求页面上报告。
定价
Dependency Scanning 在所有 GitLab 层级中都可用,包括免费层级。更高级的功能,如项目安全仪表板和可操作的漏洞报告,可在 Premium 和 Ultimate 层级中使用。