资源中心 技术干货 艾体宝干货 | 技术横评:Black Duck 与 艾体宝 Mend.io:许可证合规能力如何比较?

艾体宝干货 | 技术横评:Black Duck 与 艾体宝 Mend.io:许可证合规能力如何比较?

引言:为什么旧代码会卡住固件发布?

2026 年 9 月 11 日,欧盟《网络韧性法案》第 14 条报告义务开始适用,覆盖已遭主动利用的漏洞和影响产品安全的严重事件。

法案的主要要求自 2027 年 12 月 11 日起适用。制造商须为通用产品编制采用常用、机器可读格式的软件物料清单(SBOM),至少列出顶层依赖。

网络安全报告与开源授权属于不同的合规事项,但两者都需要制造商能从交付版本追溯到实际使用的第三方软件。

旧代码容易拖住固件发布。以工业网关为例,构建记录能交代新版软件包,却解释不了多年前复制进仓库的协议解析代码,也无法确认供应商提供的静态库是否参与了链接、相关代码是否进入最终固件镜像。工程师要赶在烧录和出货窗口前补齐来源、版本及随产品交付的声明。

审查结果必须跟着交付版本走。软件成分分析(SCA)能关联组件与许可证并触发审查。选型要看三个结果能否串起来:识别到了什么,随产品分发要完成哪些义务,缺证据时流水线怎么处置。切换工具时,原有审批和例外还要能追溯到当时的产品版本。

许可证识别横评:两款工具能查到哪一层?

固件里的第三方代码常有三种来源:包管理器引入的依赖、手工拷入的源文件,以及粘贴到自研文件里的代码片段。比较艾体宝 Mend SCA 与 Black Duck SCA 时,按这三类样本逐项看扫描结果,才能判断哪些发现能直接进入许可证复核。

Mend SCA 与 Black Duck SCA 许可证识别对比表

开源许可证怎么审?从交付声明到发布拦截

先审高风险项。使用艾体宝 Mend SCA 时,可按许可证风险评分安排复核顺序。法务根据许可证原文和固件的实际分发方式确定义务,并按发布版本留档。调整组织级许可证记录前,先确认会影响哪些产品。

工业网关团队既要查清 Conan 依赖由谁引入,也要复核多年以前拷入仓库的协议代码。Mend SCA 可分别提供依赖树和源文件归属线索,方便研发定位组件、法务核对许可证。若现有流程依赖 Black Duck SCA 定位粘贴片段,迁移时应保留这类样本,单独比较命中结果和证据位置。两款工具的扫描结果都应与目标固件的打包清单对照,按实际交付的组件确定审查范围。

用同一个固件版本做迁移对照。固定代码提交、构建参数和交付包,用传递依赖、历史拷入代码、多许可证和未知许可证等样本复跑新旧工具。发现差异时,结合链接映射和打包清单确认组件是否进入目标镜像,再判断是漏识别还是扫描范围不同。

让履约记录和声明跟着版本走。原先在 Black Duck SCA 中逐条跟踪的义务,可在迁移到 Mend SCA 时通过 Jira 工单承接,保留负责人、证明材料和签核记录。SBOM 用于追踪组件及版本,归属报告用于编制随固件交付的第三方声明。

在发布流水线上演练放行与拦截。配置 Mend 许可证规则后,分别测试正常放行、违规拦截、例外放行和例外到期后再次拦截。迁移旧例外时,核对组件版本、适用产品、审批依据和到期日。合并请求检查按实际使用的仓库集成单独验收。

总结:从 Black Duck SCA 迁移到 Mend SCA 要验证什么?

常规治理可以承接。艾体宝 Mend.io SCA 适合以依赖清单、许可证复核、归属报告和流水线门禁为主的团队。已经用 Black Duck SCA 管理片段发现、项目许可证冲突或逐条履约的团队,应把这些工作列为独立验收项,明确哪些环节由扫描平台执行,哪些由工单和发布审批承接。

从一个代表性版本开始。选一款同时包含包管理依赖、供应商库和历史拷入代码的设备,复跑一次扫描、例外审批和声明交付。以人工复核后的组件证据、实际拦截结果及可归档的交付材料作为切换依据。

Q&A

Q1:SCA 许可证扫描能找到传递依赖的许可证吗?

A:能,前提是工具成功解析了目标生态的依赖树。交付审查还要结合构建和打包记录确认传递依赖是否进入发布件,测试依赖与随产品分发的依赖应分开记录。

Q2:SBOM 可以直接当作开源许可证声明交付吗?

A:通常要另行准备归属声明。SBOM 主要记录组件身份、版本和关系,归属声明还要按适用条款核对许可证全文、版权声明和应保留的通知。

Q3:许可证扫描把组件标为未知后,工程师该怎么处理?

A:先以待审查状态保留组件,并核对相同版本的上游发布包、文件头和供应商授权材料。确认授权依据后再补录结论。项目若无法取得授权,应评估移除或替换组件,并复核重新构建的交付包。

Q4:Mend.io SCA 能阻断含禁用许可证的构建吗?

A:能。配置许可证违规工作流和流水线失败动作后,由持续集成系统按扫描命令返回的违规退出码拦截。验收时应让一个受控违规样本走完实际发布流水线,确认发布任务确实停止。

Q5:迁移到 Mend 后,旧的许可证豁免怎么处理?

A:先导出并核对旧记录的适用版本、产品范围和到期日,再按新流程重建审批和门禁例外。对已经过期、依据缺失或范围不清的记录重新审批,避免把针对单一发布版的许可判定扩大到组织范围。

>> 点击了解 Mend 开源组件扫描与管理平台 产品详情

技术工程师-蔡工