Page 106 - 《软件学报》2026年第7期
P. 106
胡帅 等: 产业研发视角下的开源软件供应链攻击问题研究 2791
入 DevOps 方法论的软件开发模式, 强调开发、运维与安全团队在软件生命周期各阶段 (包括规划、编码、测试、
部署及运维) 中保持紧密协作, 以确保安全性成为整个流程的核心约束 [163–166] . 作为开发、安全与运维高度融合的
理念, DevSecOps 正逐渐成为产业界防护开源软件供应链攻击的关键策略, 其本质在于打破传统开发流程中安全
与业务隔离的格局, 通过从开发起点即深度嵌入安全控制, 并在流水线全周期中持续监控和校验, 实现安全与敏捷
交付的协同优化. 例如, Kumar 等人 [165] 提出的基于云开源软件自动化开发安全运维 (automated DevSecOps using
open-source software over cloud, ADOC) 概念模型通过自动化机制实现了 DevSecOps 的持续安全性与敏捷性, 而
Haverinen 等人 [167] 的 Cyberismo 方案采用开放信息模型与“安全即代码”范式, 实现了 DevSecOps 流程中的网络安
全合规自动化管理. 这类方法不仅提升软件交付效率, 也显著增强在复杂供应链环境中对威胁传播阶段的响应能
力, 从而为产业界提供系统化的全生命周期安全保障, 同时兼顾敏捷研发与持续交付的业务需求.
● 安全需求工程. 在快速迭代的敏捷研发环境中, 尽管小步快跑的节奏加速了产品从需求到市场的周期, 但安
全实践与敏捷实践之间存在的潜在不一致性不容忽视 [168] . 特别是在客户未明确提出安全需求时, 研发团队往往容
易忽视系统的整体安全性, 进而在设计阶段埋下隐患. 因此, 产业界已普遍认识到, 在研发早期阶段加强安全需求
工程的培训与实践至关重要, 通过“安全左移”策略将安全性前置, 已逐渐成为行业共识 [169] .
为系统性地应对这一挑战, 产业界逐渐重视安全需求工程 (security requirements engineering, SRE) 及其配套的
安全策略. 基于 SRE, 可开展安全需求提取与分析 (security requirements elicitation and analysis, SREA) 等核心工作 [2,169,170] .
在具体执行过程中, 可以借助 STORE 框架识别软件供应链中的攻击点、信任点、推测点与依赖点, 并在此基础
上开展安全风险评估、安全需求建模与验证, 最终将抽象的安全需求转化为可操作的需求文档 [170,171] .
● 持续集成阶段 (CI) 防护. 在 DevSecOps 持续集成阶段, 构建与测试环节的安全防护至关重要. 在构建阶段,
产业界要求对软件包进行完整性和来源校验, 确保未被篡改或植入恶意代码, 例如通过数字签名验证保证软件包
来源的可靠性 [165] . 为应对开源组件 (OSS) 潜在的供应链风险, 软件组成分析工具可扫描项目中使用的依赖库, 检
测已知漏洞和许可证合规性问题, 从而降低供应链攻击可能性. 同时, 通过建立 SBOM, 能够精确掌握细粒度依赖
关系, 并将扫描分析融入自动化 CI 流程, 提高软件依赖的可视化、可追溯性与合规性 [120,172] . 针对二进制依赖的安
全威胁, 产业界重点关注恶意二进制插入和代码混淆问题. Barr-Smith 等人 [173] 提出基于版本差异检测的方法识别
供应链中恶意二进制文件, 而 Greco 等人 [174] 与 Jiang 等人 [175] 则通过可解释人工智能 (XAI) 和函数级嵌入技术提
升恶意代码检测的准确性. 此外, 为防御恶意源码攻击, 可重复构建 (reproducible build) 方法确保从源代码到最终
发布的二进制包可独立验证, 任何未经授权的修改均可被发现 [176] . 在容器镜像构建过程中, 通过 SBOM 对镜像内
部软件包进行物料分析, 并结合多阶段安全检查与动态行为分析, 可防止已知漏洞镜像被发布或重用, 从而提升容
器安全性 [177] .
在测试阶段, 动态应用安全测试 (dynamic application security testing, DAST) 与渗透测试工具用于模拟真实攻
击场景, 发现运行时安全漏洞. 使用工具如 Burp Suite, 可对 Web 应用、API 与网络接口进行漏洞扫描. Rangnau 等
人 [178] 通过案例研究展示了在 CI/CD 流水线中集成 DAST 工具的实践方法, 从而在快速迭代的开发周期中有效应
对安全挑战. 此外, 自动化测试和持续监控机制可与构建阶段的 SCA、SBOM 和可重复构建策略结合, 实现从源
码到生产环境的端到端安全保障.
总体而言, DevSecOps 持续集成阶段防护机制通过构建、依赖管理、二进制检测、容器安全、动态安全测试
等多维手段形成闭环, 既保证了软件在流水线各环节的完整性与安全性, 也为产业界提供了一套可量化、可追溯
且可持续的防护策略, 显著降低了供应链攻击在 CI/CD 流程中的传播风险 [165,172–178] .
● CD 防护. 在 CD 阶段, 软件从开发测试环境过渡至生产运行环境, 其安全性直接关系到系统的完整性与可
信度. 由于部署高度依赖自动化脚本、配置文件、容器镜像及其他构建产物, 一旦流水线被篡改, 可能绕过前序安
全检测, 将恶意代码、后门逻辑或配置污染注入正式系统. Bass 等人 [179] 指出, 通过将复杂、不可信的部署流水线
拆解为多个小型、权限受限、功能独立的可信单元, 并严格限制网络访问与资源范围, 可显著降低攻击面并提升
可验证性, 从而增强系统对渗透行为的可观测性与控制能力.

