学习路径 05课程 3 / 8

持续发现并修复漏洞

建立从漏洞发现到经验证生产修复的持续流程。理解成功原型可能掩盖的维护缺口。

实践12 分钟已审查

发布者 我们如何编写内容

检验理解应用已经三个月没有修改。最近一次依赖扫描在发布时通过。哪个说法有证据支持?完成练习
应用已经三个月没有修改。最近一次依赖扫描在发布时通过。哪个说法有证据支持?

你将学到什么

  • 解释代码不变为什么仍需要持续安全审查。
  • 将不同扫描类型与覆盖范围和局限对应起来。
  • 追踪发现从优先级判断到修正、部署和验证的过程。

可用原型可能变成无人维护的服务

Vibe coding 可以快速产出有用原型。如果人们持续使用它,却没有持续安全维护,生产风险就会上升。这是严重缺口:软件仍然暴露在风险中,创建它的人却认为工作已经结束。

缺口既涉及技术,也涉及组织。扫描器可能存在,却没有负责人。发现可能有负责人,却没有发布路径。修复可能已合并,但旧生产制品仍在运行。

评估实际开发平台和配置。有些工具提供安全功能,但产品标签不能证明已部署应用获得持续扫描和经过验证的修复。

证据可能变化时执行扫描

对拟议修改和构建制品执行相关检查。由于安全公告会在没有代码提交时变化,应定期重新评估受支持版本。相关公告、暴露变化或事件出现时,触发额外审查。

明确范围。列出代码仓库、分支、锁文件、镜像、已部署摘要值、运行时和环境。也要包含已经不再开发新功能、但仍服务用户的应用。

扫描失败意味着缺少证据。监控扫描是否及时、公告源失败、身份验证失败、不支持的组件和覆盖缺口。任务失败后的空发现列表,不等于扫描结果干净。

用不同检查回答不同问题

检查有用的覆盖范围重要局限
软件成分分析(SCA)已知依赖漏洞,包括已识别的传递依赖不能证明应用授权正确
静态应用安全测试(SAST)工具能够识别的不安全代码模式可能漏掉运行时行为,并产生需要分诊的发现
秘密信息扫描扫描内容中能够识别的凭据模式删除某处字符串后,其他地方可能仍有有效凭据
基础设施和配置检查扫描资源或配置中违反已定义策略的情况代码仓库配置可能不同于运行环境
获授权的动态测试受测范围内运行应用的行为需要许可、适当数据,并谨慎处理副作用

将这些检查与审查和相关安全测试结合。不要声称任何扫描都能证明不存在漏洞。

追踪一项虚构发现进入生产

时间事件实际状态
周一 09:00新公告指出一个受影响的 PDF 依赖现有发布版本需要评估
周一 09:15定期扫描识别出生产版本已发现问题,尚未修正
周一 10:00负责人确认暴露,并选择受支持补丁已规划修复
周一 13:00测试通过,补丁 PR 已合并代码仓库已修正;生产仍待部署
周一 14:00流水线部署修正后的镜像新制品正在运行;仍待验证
周一 14:20制品扫描和导出回归检查通过修复在已检查范围内得到验证

根据严重程度、利用证据、暴露情况、受影响数据和可用缓解措施安排优先级。CISA 目录有助于识别已知利用情况,但只是一个输入,不是完整风险评估。参见 CISA 目录。

临时例外需要证据、负责人、补偿性控制措施,以及到期或复核触发条件。如果没有补丁,可考虑获授权的替代处理、限制功能,或移除受影响组件。

补上维护缺口

按优先级衡量完成分诊和经验证修复所需的时间。追踪逾期例外、过时扫描、受影响生产版本和重复发现。发现数量下降,也可能只是覆盖减少,因此应检查分母。

Taiga Maintaining 会在已连接代码仓库发生修改后扫描,也会定期扫描。它记录发现,并将修复与 initiative 和已审查修改关联起来。检查扫描状态和当前文档说明的行为。参见 Maintaining。

流水线仍需要适当的发布门禁。服务负责人仍须确认部署和运行正确性。这条持续链路是运维 AI 软件工厂的一部分,也适用于最初从原型起步的产品。

完成练习

使用本课的虚构时间线。识别团队可能在哪里错误宣布成功。定义扫描触发条件、失败告警、修复负责人、发布验证和临时例外的到期条件。

下载工作表(Markdown)
检验理解 ↑

继续学习

来源与延伸阅读

Taiga 相关阅读

上一课: 在软件的整个使用期内持续维护