Cybellum可以把开源软件、商业软件、供应商交付组件以及自研代码放进产品SBOM中统一管理,并结合组件版本、许可证、漏洞和供应商信息继续分析。第三方组件的数据来源并不总是一致,有的来自固件扫描,有的来自供应商提供的SBOM,还有一部分来自源码或已有资产文件,因此经常会碰到组件名称存在但版本号为空、供应商缺失、许可证无法识别或组件重复的问题。处理这类情况时,要先把组件归到正确的产品版本,再补齐能用于识别和风险匹配的关键字段。
一、Cybellum怎么管理第三方软件组件
Cybellum支持把二进制分析、源码分析和外部SBOM数据合并到同一份产品资产中。第三方组件较多时,可以先按产品版本整理组件来源,再处理重复项和组件关系。
1、先把第三方组件加入产品SBOM
①登录Cybellum Product Security Platform,进入对应产品。
②选择当前要维护的【Product Version】。
③打开【SBOM】或产品资产页面。
④检查已经识别出的【Components】列表,确认供应商交付的软件是否已经存在。
⑤供应商已经提供SBOM时,使用导入功能添加外部文件。
⑥文件采用标准SBOM格式时,可准备【SPDX】或【CycloneDX】数据。
⑦现有资产以CPE清单维护时,也可以整理成平台支持的CPE CSV数据后再导入。
⑧导入完成后重新打开当前产品版本,检查新增组件有没有进入同一份SBOM。
同一产品的组件可能来自多个渠道,没必要因为已经完成固件扫描就放弃供应商提供的数据。两边的信息可以放在一起校对,供应商提供的版本、许可证等字段也能补足扫描结果中的空缺。
2、处理重复组件和不同数据来源
①进入当前产品的【SBOM】。
②按【Component】名称查找重复记录。
③检查重复项的版本号、供应商和组件标识。
④确认两条记录实际代表同一个软件包时,使用SBOM中的合并或去重功能整理记录。
⑤如果组件名称相同但版本不同,不要直接合并,先确认它们是不是同时存在于当前产品中。
⑥检查父组件和子组件关系,避免把依赖组件误当成重复项删除。
⑦完成整理后执行【Validate】,查看当前SBOM里还有哪些字段或关系存在问题。
Cybellum支持对不同来源的SBOM进行合并、去重和校验,这类功能比较适合处理供应商文件和设备扫描结果并存的项目。
3、按产品版本维护第三方组件
①切换到当前【Product Version】。
②查看这一版本对应的组件清单。
③产品升级第三方库后,把新的组件版本录入当前产品版本。
④旧产品仍在维护时,保留旧版本对应的组件记录。
⑤检查新旧版本之间的组件变化。
⑥某个组件被移除后,确认它没有继续留在新版本SBOM里。
⑦完成变更后重新校验当前版本。
这样维护后,同一个供应商组件升级时,可以看到它在哪些产品版本中仍然存在,后面排查许可证或漏洞问题时也不会把不同版本混在一起。
二、Cybellum第三方组件信息不完整如何补充
组件信息缺失时,不建议只补一个名称就结束。版本、供应商、许可证和组件标识会直接影响后面的组件识别、漏洞匹配和供应链分析。
1、先找出缺少哪些字段
①进入产品【SBOM】。
②打开目标【Component】详情。
③检查组件【Name】和【Version】。
④查看【Supplier】或供应商信息。
⑤检查【License】字段有没有识别结果。
⑥查看【CPE】、PURL或当前组件使用的其他标识。
⑦检查组件与上级软件包之间的关系。
⑧把缺失项记录下来,再决定从供应商资料、SBOM文件还是扫描结果里补充。
如果版本号为空,漏洞匹配很容易出现范围过宽的问题;供应商或组件标识不完整,也可能把名称相近的软件包识别成同一个组件。
2、用供应商SBOM补齐缺失数据
供应商已经能提供组件清单时,可以优先利用原始SBOM,少做重复录入。
①向供应商获取当前交付版本对应的SBOM文件。
②确认文件对应的产品版本和发布日期。
③检查文件格式是否为【SPDX】或【CycloneDX】。
④回到当前产品的【SBOM】页面导入文件。
⑤导入后查看新增的组件版本、许可证和供应商字段。
⑥与已有扫描结果进行比对。
⑦同一个组件出现两份记录时,再执行合并和去重。
⑧完成后运行【Validate】检查结果。
供应商后来提供新版SBOM时,要确认它对应哪个交付版本,不要直接覆盖其他产品版本已经确认过的组件信息。
3、对扫描结果做人工修正和校验
有些二进制组件只能识别出库名称,版本或许可证仍然可能为空,这时可以在SBOM维护阶段补充已确认的信息。
①打开缺少信息的组件详情。
②进入组件编辑区域。
③补充已经核实的【Version】。
④填写对应【Supplier】。
⑤有明确许可证信息时补充【License】。
⑥已经确认组件标识时,补充或修正对应的【CPE】等识别信息。
⑦检查组件关系是否指向正确的父组件。
⑧保存后执行【Validate】。
⑨重新查看组件关联的漏洞和许可证结果。
只填写能够核实的信息。供应商没有给版本,扫描结果也无法确认时,保留待补状态比凭名称猜一个版本更合适。
三、组件补充后怎么检查数据是否可用
组件资料补完以后,还要确认漏洞、许可证和供应商关系能不能跟着识别。字段填得齐,不代表组件已经和平台中的风险数据正确对应。
1、重新检查漏洞和许可证关联
①打开刚修改的【Component】。
②查看该组件关联的【Vulnerabilities】。
③核对漏洞影响的组件版本。
④检查【Licenses】结果是否已经出现。
⑤组件标识修改过时,观察原来的异常漏洞记录是否发生变化。
⑥切换到产品层风险页面,检查组件是否仍然存在未识别提示。
⑦发现匹配结果明显不对时,返回组件详情检查名称、版本和标识。
2、重新执行SBOM校验
①回到当前产品【SBOM】。
②执行【Validate】。
③查看仍然缺少信息的组件。
④检查重复组件有没有清理干净。
⑤查看组件关系是否完整。
⑥供应商数据仍有缺口时,把对应组件留在待处理范围。
⑦确认当前版本整理完成后,再进入审批或后续报告环节。
Cybellum的SBOM管理支持校验和审批,所以组件整理结束后再跑一次校验,比只看单个组件详情更容易发现遗漏。
总结
Cybellum管理第三方软件组件时,产品版本、组件身份和数据来源要能够对应起来,后面的漏洞、许可证和供应链信息才有参考价值。第三方组件资料缺失并不少见,可以结合供应商SBOM、固件分析和已经确认的组件资料逐步补齐,同时保留无法确认的字段,避免错误信息继续传到风险分析和报告中。如需进一步了解Cybellum第三方组件管理、SBOM数据补充与供应链组件维护方法,欢迎联系咨询。