OPPO / 朱红林 使用开源组件有哪些风险 开源组件免费、缩短软件开发周期、丰富软件产品的功能和业务,但蕴藏很多风险 安全技术风险开源许可证合规风险专利侵权风险运维风险供应链风险出口管制合规风险地缘合规风险 IT基础设施开源软件库、开源源码库/制品库、DevOps工具链、项目管理系统、PDM产品数据库、版本控制系统、故障跟踪系统...... 需求&设计阶段 - 选型评估 建立准入机制,从源头把控风险,是安全左移的重要举措,其中开源软件选型是关键活动之一。 开源软件库 功能 验证阶段 - 开源测试 准出校验 测试计划 •使用申请和SBOM一致•高风险问题处理完成•Notice集成测试通过•开源分发准备就绪 发布阶段 - 开源发布 执行FSR,审核各项开源合规活动是否已执行完成,做好开源发布准备,并制定应急响应计划。 维护阶段 - 漏洞跟踪和修复 漏洞跟踪和验证 漏洞修复 漏洞收集 •快速定位•漏洞验证和分析•漏洞分发•产品漏洞预警 •临时紧急措施•源码补丁•跟随社区升级•现网产品漏洞修复支持 •内部漏洞库•SCA工具 维护阶段 - 生命周期管理 及时升级到最新稳定版本 •定期维护开源软件库•及时跟随社区升级 制定明确的推出机制和流程 •定期维护黑名单•及时退出 IT系统支撑和工程能力建设 •提供完善的IT系统支撑和较强的工程能力•溯源及自动化管理 高效治理开源组件的基本原理 •开源各阶段实现自动化•管理过程做到可视化监控•总的目标:全程可控、问题闭环 旧的开源治理方法 痛点:1、开源流程长,涉及工作领域比较多,人工操作比较多对,比较依赖经验,容易出错。 2、很多安全编码规范和开源规范,没有工具化,开源代码的质量难以得到保障。 新的开源治理方法 自动化实现开源过程说明:1、将“分支创建”、“整改”、“编译”、“版本发布”等步骤实现工具自动化处理。2、最大化减少人工操作,显著提高Kernel相关代码仓的开源效率和稳定性。