Page 104 - 《软件学报》2026年第7期
P. 104
胡帅 等: 产业研发视角下的开源软件供应链攻击问题研究 2789
技术, 依托自动化工具与方法增强对潜在漏洞和恶意代码的动态识别与管控.
5.1.1 开源项目安全协同治理体系
在软件供应链攻击日益频发的背景下, 开源社区因其高度开放性与参与主体的多样性, 逐渐成为攻击者重点
渗透的对象. 为提升生态系统整体的安全韧性, 业界围绕开源项目的管理、构建与交付流程, 逐步建立起一套较为
系统的安全协同治理机制与实践框架, 以期从源头遏制恶意代码的引入与传播.
其中, 开放源代码安全基金会 (Open Source Security Foundation, OpenSSF) 由 Linux 基金会牵头成立, 汇聚产
业界与社区的协同力量, 专注于提升开源项目开发与使用过程中的安全水平. OpenSSF 推出了多项基础性建设项
目以弥补开源项目的安全薄弱环节, 例如: 用于评估项目安全成熟度的评分体系 (scorecard)、开发者安全认证标
准 (secure software development fundamental, SSDF)、自动化签名与验证服务 (sigstore) 等. 这些举措不仅有助于建
立透明的安全基线, 也推动了在社区内部形成更为清晰的责任体系与信任模型. 与此同时, OpenSSF 强调对核心维
护者账户与权限的保护, 推广更严格的身份认证与访问控制措施, 以降低因账号劫持、权限滥用而导致的供应链
投毒风险. 此外, 研究表明, 采用代码审查和分支保护等实践的项目漏洞率显著降低, 其中代码审查被认为是缓解
供应链风险的关键措施之一, 而分支保护机制则有效遏制未授权提交与流程绕过 [145] . 基于此, OpenSSF 进一步推
动对关键开源项目的第三方代码审计、漏洞赏金计划以及与政府和标准化机构的合作, 从而在更广范围内提升开
源生态的安全保障能力. 此外, XZ 事件爆发后, 维护者选择加入 JazzBand (一个针对欠维护开源代码的协同治理
社区), 来抵御日益增加的软件供应链投毒攻击.
总体来看, 开源安全治理正在经历从“事后响应”向“过程控制”与“前置预防”的战略转型. 通过组织协作、规
则制定与工具支持的协同推进, 供应链攻击的潜在入侵路径不断被压缩. 然而, 面对日益隐蔽与多样化的威胁策
略, 现有框架仍需进一步增强对异常行为的识别能力, 并提升从依赖关系解析到版本更新的全链路可见性与可验
证性, 以构建更加稳固的开源信任基础.
5.1.2 开源代码异常检测
为遏制攻击者在开源软件源头注入恶意逻辑的行为, 源代码分析与检测技术逐渐成为保障软件供应链安全的
核心防线. 该类方法主要聚焦于代码提交、审核与合并等关键环节, 通过静态、动态以及混淆识别与流程检测等
多维度手段识别潜在威胁, 从而提升上游代码仓库的可审计性与可信度.
静态分析作为应用最为广泛的检测手段, 可在无需执行代码的前提下, 通过语法解析、结构检查与数据流建
模识别注入类漏洞、特权调用、代码克隆与恶意植入等风险. 例如, SonarQube 和 CodeQL 等工具已被广泛用于
企业与开源项目的早期安全审查 [146] . 在恶意更新场景下, Froh 等人 [147] 提出基于 CodeQL 的差分静态分析方法, 利
用版本间行为差异定位后门注入, 在误报率低于 1.4% 的情况下成功识别所有已知恶意版本. Wu 等人 [93] 进一步结
合元数据信号 (如可疑安装脚本、过期邮箱域名等) 提出风险预测模型, 用于提前预警可能的投毒行为. 然而, 由
于供应链攻击往往通过微小变更混入大型项目, 且攻击逻辑在视觉与功能层面高度隐蔽, 现有规则式检测面临显
著挑战. Zheng 等人 [148] 指出, 这已形成一种攻防“军备竞赛”, 攻击者不断采用代码混淆等手段规避检测. 因此, 学
术界提出通过识别非常规字符混淆、字符串编码与冗余逻辑等特征, 将混淆度作为可疑指标辅助人工审查. 例如,
通过代码熵值、抽象语法树 (abstract syntax tree, AST) 与控制流图建模, 结合机器学习方法, 有效识别如控制流平
坦化、字符串加密等混淆手法 [149–151] .
动态分析则通过在沙箱等受控环境中运行待测程序, 捕捉运行时行为以发现静态检测难以覆盖的威胁, 尤其
适用于识别条件触发后门、下载执行载荷及混淆逃避型逻辑. 尽管该方法存在覆盖率不足与性能开销大的问题,
近期研究在提高动态检测可扩展性方面取得进展. Duan 等人 [152] 提出的 MALOSS 框架首次实现了大规模生态下
的动态分析, 结合元数据与行为特征成功识别出 npm 与 PyPI 平台上的数百个恶意包. 随后, Zheng 等人 [148] 提出
的 OSCAR 系统通过结合沙箱执行、模糊测试与关键 API 行为监控, 实现了对更隐蔽恶意组件的高精度检测, 其
在真实数据集上的 F1 分数达 0.95, 误报率显著低于传统工具. OSCAR 还可自动生成测试输入并监控网络请求、
文件写入及子进程生成等行为, 从而弥补静态方法在动态触发和环境感知方面的不足.
软件供应链攻击通常会通过混淆代码插入恶意代码, 因此混淆识别与流程绕过检测成为防御高度隐蔽攻击的

