
# 如何分析二进制成分分析的开源软件风险
成分分析基于静态风险检测，会对用户上传的软件包/固件进行解压并分析其中的文件，识别包中文件包含的开源软件清单，并分析是否存在已知漏洞、许可证合规等风险。用户扫描完成后，建议按照以下步骤进行分析排查：
1. 开源软件分析，分析开源软件是否存在以及软件版本是否准确。 基于报告详情页面或导出的报告中开源软件所在文件全路径找到对应文件，然后分析该文件中开源软件是否存在或准确（可由相关文件的开发或提供人员协助分析），如果否，则无需后续分析。
   图1查看文件对象路径   
   ![](https://support.huaweicloud.com/devsecurity_faq/zh-cn_image_0000002387003965.png "点击放大") 
2. 已知漏洞分析，分析已知漏洞是否准确。 通过NVD、CVE、CNVD等社区搜索相关CVE已知漏洞编号，获取漏洞详情。
   - **概要分析：** 查看影响的软件范围，如CVE-2021-3711在NVD社区中的Known Affected Software Configurations，如下图，确认漏洞是否影响当前使用的软件版本，如果当前使用的软件版本不在影响范围内，则初步说明漏洞可能不涉及/影响。
     图2查看软件版本示例   
     ![](https://support.huaweicloud.com/devsecurity_faq/zh-cn_image_0000002353363732.png "点击放大") 
   
   - **精细化分析：** 漏洞通常存在于某些函数中，可以通过社区中的漏洞修复补丁确认漏洞详情、涉及函数以及修复方式，如下图，用户可以结合自身软件对于相关开源软件功能的使用，判断是否涉及相关漏洞。
     图3查看漏洞详情示例   
     ![](https://support.huaweicloud.com/devsecurity_faq/zh-cn_image_0000002387003977.png "点击放大") 
    
3. 许可证合规分析。基于报告中开源软件及对应的许可证分析软件是否合规，满足公司或准入要求。
4. 风险解决方式：
   - **已知漏洞**：如果当前使用的软件版本存在漏洞，可通过升级软件版本至社区推荐版本解决。紧急情况下也可以通过社区推荐的patch修复方式临时解决。
   
   - **许可证** **合规**：如果使用的软件存在合规风险，则需要寻找相似功能且合规的开源软件进行替代。
    
 
