极狐GitLab

流水线安全扫描SAST:CI/CD自动化检测怎么做?

极狐GitLab
2026年9月2日
18156
分享:

流水线安全扫描落地:SAST自动化检测与修复实践

安全左移的关键动作之一,是把静态代码分析(SAST)放进 CI/CD 流水线,让漏洞在合入主分支之前被发现,而不是在发布后由安全团队事后救火。本文基于极狐GitLab官方 SAST 能力,给出完整的落地配置与治理实践。

一、官方 SAST 能力定位

极狐GitLab旗舰版内置 SAST(静态应用程序安全测试),官方能力描述包括:分析精度高、扫描自动化、检测范围广、检测时间早、数据可视化。其核心设计是与 Merge Request 流程深度集成——扫描结果不是一份"事后报告",而是直接呈现为合并请求门禁。

二、最小可用配置

在项目根目录的 .gitlab-ci.yml 中引入官方 SAST 模板即可启用:

include:
  - template: Security/SAST.gitlab-ci.yml

stages:
  - test

提交后,流水线的 test 阶段会自动执行 SAST 扫描(官方模板自动识别项目语言并选择合适的分析器)。扫描结果生成 Security Report,出现在 MR 的「安全」标签页。

三、自定义扫描规则集

默认规则无法满足所有团队的规范要求。极狐GitLab旗舰版支持自定义扫描规则集:团队可以维护一份符合自身规范的规则文件,覆盖或补充官方默认规则,并在扫描配置中引用:

include:
  - template: Security/SAST.gitlab-ci.yml

sast:
  variables:
    SAST_RULESET_PATH: .gitlab/sast/ruleset.toml

这样,企业级规范(如"禁止使用某类高风险函数")可以直接落到流水线门禁中,而不仅仅是停留在文档层面。

四、把扫描结果变成门禁:安全审批与策略

扫描出漏洞只是开始,治理闭环才是关键:

  • 合并请求门禁:安全报告可配置为 MR 合入门禁,存在未解决高危漏洞时禁止合入;

  • 安全仪表盘(Security Dashboard):官方提供全局漏洞视图,按严重程度、项目、时间维度追踪;

  • 安全审批(Security Approvals):涉险变更需安全负责人审批通过后方可合并,实现职责分离;

  • 安全扫描策略(Scan Policies):以策略方式统一管理哪些分支/环境执行哪些扫描,策略多样、操作便捷。

五、AI 辅助漏洞修复

SAST 发现问题后,修复建议是降低处置成本的关键。极狐GitLab Duo 的官方能力包括:

  • Security Analyst Agent:分析漏洞、排除误报、提供安全建议;

  • 漏洞修复 Flow:在 MR 中生成漏洞修复建议与补丁,开发者可一键采纳。

配合旗舰版的安全能力,团队可以实现"扫描 → 分析 → 修复 → 复核"的完整闭环,而不是停留在"发现一堆漏洞没人修"的状态。

六、离线与规模化场景

  • 离线环境:旗舰版支持离线环境下使用安全扫描,涉密内网环境同样可以落地 DevSecOps;

  • 多项目规模化:通过群组级安全策略与仪表盘统一治理,避免每个项目各自为政;

  • SBOM 与供应链:官方 SCA 能力支持 SBOM 输出,与 SAST 共同构成应用安全双支柱。

七、总结

SAST 的价值不在于"扫描了多少次",而在于是否形成了合入门禁与修复闭环。极狐GitLab将 SAST、SCA、容器扫描、安全仪表盘、安全审批与 AI 修复统一内置于旗舰版,并支持离线与自定义规则集——这是比"外接一个扫描工具"更完整的 DevSecOps 落地路径。

SAST 模板、规则集格式与安全报告详情的官方说明,参见极狐GitLab文档中心 docs.gitlab.cn「安全测试」章节。