王昭宁/ 高级客户经理

高级客户经理

  • 电话(微信)
    17669512663
  • QQ 号码
    3684528290

安全左移怎么真正落进流水线?

从扫描点位置、门禁分级、基线维护到验收指标,拆解安全左移如何真正进入 CI/CD 流水线,并给出两周 PoC 检查清单。

ruciai· 2026/11/12· 约 9 分钟阅读
安全左移怎么真正落进流水线?

上线前加一道扫描,安全左移就完成了吗?不少团队的真实情况是:扫描报告躺在另一个系统里,开发要等安全同事转述;门禁一开就堵住整条流水线,最后被临时绕过;规则基线几年没更新,误报多到没人再看。

安全左移真正落进流水线,判断标准不是扫了多少次,而是每个风险有没有在正确的节点被发现、被分级、被修复。GitFox 是禅道 DevOps 内置的核心组件与一体化底层引擎,自研且无海外开源内核依赖,把代码托管、评审、CI/CD、代码扫描、质量门禁和制品库放在同一条交付链上;它与禅道项目管理分工衔接,适合 50~300 人研发中心、中大型组织和信创私有化团队做 PoC 验证。

一、安全左移常见问题分析

先把症状和根因分开。安全左移落不下去,常见的是流程断点,不是工具数量。

现场信号

更可能的原因

先处理什么

扫描结果只在安全团队手里

扫描没进流水线,结果靠人工转

把扫描任务放进 MR 和构建阶段,结果回写同一处

门禁一开就大面积失败

没有分级,存量问题和新问题一起拦

先区分新增与存量,再定阻断级别

规则越加越多,开发开始绕开

基线无人维护,误报消耗信任

给规则设负责人、复核周期和例外期限

Google Cloud DORA 团队在 2022 年的《Accelerate State of DevOps Report》中提到,63% 的受访者已把应用级安全扫描作为生产发布 CI/CD 的一部分;报告也指出,高信任、低责备的文化比技术更能预测安全实践采纳。工具提供信号,流程和文化决定信号会不会被处理。

二、安全左移该卡在流水线的哪几个位置?

位置放错,扫描就会变成事后补救。DevSecOps 平台里比较稳妥的做法,是把代码扫描按风险密度从早到晚布点,而不是每个阶段都塞满工具。

阶段

主要检查

建议动作

成功信号

提交与 MR

密钥、增量 SAST、新依赖

只扫本次变更,严重问题阻断合并

评审页能看到结果并直接修

构建

依赖漏洞、镜像、IaC

可利用高危才阻断

日志能定位组件和版本

制品入库

SBOM、签名、来源

未签名或来源不明不入库

制品能追到提交和构建

部署前

DAST、策略校验

高风险阻断,低风险告警

发布单能看到放行依据

这张表的重点不是把四行都做满,而是让每个阶段只回答一个问题:这个风险现在能不能被看见,能不能被判断,能不能被处理。NIST SSDF 和 SLSA 这类框架提供的也是分层思路,不是要求一次把所有检查开齐。

安全左移在 CI/CD 流水线中的四个检查点:提交与 MR、构建、制品入库、部署前

三、安全左移的门禁如何看?

门禁最容易犯的错,是把“有漏洞”直接等同于“禁止合并”。 真正可执行的质量门禁至少分三层:

级别

触发条件

流水线动作

处理责任

观察

低危、历史存量、误报待确认

记录,不阻断

安全团队定期复核

告警

中危,或高危但暂无可用修复

提示到 MR,允许有条件放行

研发负责人确认风险

阻断

密钥泄露、可利用的高危、来源不明制品

停止合并或停止入库

提交人修复,安全团队审例外

分级之后,还要处理存量。比较务实的规则是“新增问题阻断,存量问题限期收敛”:先冻结当前基线,新提交不允许新增同类问题,历史问题按模块排期。这样门禁不会在第一天就把所有历史债务变成交付事故。

例外也不能靠口头放行。每条例外至少写清申请人、原因、影响范围、到期时间和补偿措施;到期自动失效,重新评估。没有到期时间的白名单,很容易变成新的历史债务。

安全左移三级门禁示意图:观察、告警、阻断三种级别,以及带到期时间的例外审批流程

四、DevSecOps 平台里的安全左移,基线要有人养

规则基线如果没人维护,门禁的可信度会很快下降。 代码框架在变,依赖在升级,攻击手法也在变,装完就不再回看的规则迟早会失效。

  • 规则包版本化:每次调整记录原因,避免“昨天能过、今天不能过”却查不到原因。

  • 设固定负责人:安全团队定规则,平台团队保执行,研发负责人处理本模块例外。

  • 控制扫描耗时:MR 只跑增量,完整扫描放到构建或夜间任务。

  • 误报要闭环:记录规则、代码位置和结论,能抑制的设期限,不能抑制的回退规则。

  • 结果放同一处:代码、流水线、制品和缺陷尽量共用同一套对象标识,减少跨系统复制粘贴。

这也是 DevSecOps 平台和单点扫描工具的区别:前者不只是提供扫描器,还要把扫描结果、门禁状态、制品版本和修复责任串起来。链路越短,定位问题越少来回。

五、DevSecOps 平台上的安全左移,怎么验收?

基线稳定之后,验收才有意义。验收不要只看“接入了几个扫描器”。 下面五个信号更能说明安全左移有没有真的进流水线:

  • 新增高危拦截率:门禁是否在合并前拦住新增的可利用高危问题。

  • 门禁误报率:开发是否愿意相信结果,误报有没有持续下降。

  • 平均修复时长:从问题出现到关闭用了多久,卡在谁那里。

  • 例外到期率:例外是否按期限关闭,还是不断续期。

  • 扫描耗时与通过率:MR 阶段是否在团队可接受的时间内给出结论。

如果要做两周 PoC,不用先铺满所有仓库。选一个真实项目,定 5 条最关键规则,设 1 个阻断和 1 个告警级别,跑够 20 个 MR,再看上面五组数据。先在一个仓库跑通“发现—分级—修复—复核”,再复制到更多团队,比一次性上线十几个扫描器更稳。

想先看具体做法,可以参考把 5 类代码扫描嵌入 CI/CD 流水线,里面按 SAST、依赖、镜像等类型拆了接入位置。

六、安全左移落地常被问到的几个问题

落地时还有几个问题反复出现,集中说明。

1. 安全左移是把安全团队的活交给开发吗?

不是。安全团队仍然负责定基线、审例外、做高风险评审;开发负责在提交和评审阶段处理自己引入的问题。责任共担,不等于责任转移。

2. 扫描是不是越多越好?

不是。扫描越多,噪声和等待时间越高。先覆盖密钥、依赖和高危代码问题,再按项目风险增加镜像、IaC 和 DAST。

3. 存量漏洞太多,门禁一开就堵死怎么办?

先冻结基线,新增问题阻断,存量按模块排期;对确实无法立即修的,走有期限的例外,不要直接关掉门禁。

4. 例外开了就收不回来怎么办?

例外必须带到期时间和补偿措施,到期自动失效;续期要重新说明原因。把例外数量纳入验收指标,团队才会认真收敛。

5. 小团队要不要做安全左移?

要,但可以从最小闭环开始:密钥扫描、依赖检查、高危阻断三件事先跑通。团队规模小,更适合把规则放在流水线里,而不是靠人盯。

结语

安全左移不是让安全团队替开发做所有检查,也不是在每个阶段都堆扫描器。它真正落进流水线的标志,是风险在正确的节点被看见,门禁有分级,例外有期限,修复有人负责。

如果正在评估 DevSecOps 平台,建议先用一个真实仓库做两周 PoC:只开最关键的规则,只设一个阻断门禁,把扫描耗时、误报和修复时长记下来。能跑通这一小段,再谈全量推广。需要了解部署方式和适用边界,可以从官网的 DevOps 版页面开始,预约一次针对现有流水线的验证沟通。

目录

GitFox
读到这里,不如亲手体验

预约 30 分钟演示,看看 GitFox 如何打通从需求到上线。

Site-Footer
王昭宁 高级客户经理
  • 17669512663
  • 3684528290