SDL安全建设:软件供应链SCA-开源组件安全管控流程-落地实践分享
内容提要
风险管理实践-对接组件库-安全管控流程引入管理。从0到1:全量扫描有风险的组件出库。入库申请:开发申请组件入库安全/质量部门管理。卡点要求:严重或高危漏洞的组件必须排除。入库组件有风险又必须使用:项目负责人申请限制级组件使用。安全使用管理:禁止私自使用未引入的开源软件。组件工具自带阻断功能。审查项目开发所用的组件是否在私服仓库引用。
延伸解读
从全量出库到限期整改:存量风险组件的处理逻辑
文章提到,初期对组件库进行全量扫描,有风险的原则上全部出库。但若风险组件为项目必须使用,项目组可提交入库申请,或采取“控增量、清存量”的逐步推广方式,对存量组件在固定时间内限期整改。这反映出治理并非一刀切,而是在安全与业务连续性之间寻找平衡,读者可关注自身团队是否具备类似的过渡机制。
入库卡点与黑白名单:组件准入的实际操作
入库申请由开发提交工单,安全/质量部门管理,组件包需经病毒扫描后放入测试网。卡点要求明确:含严重或高危漏洞的组件必须排除,并阻断其上传私仓或从私仓下载。企业还可列组件、许可的黑名单与白名单,黑名单组件严禁使用。这些措施共同构成组件准入的硬性门槛,读者可对照检查自身流程是否覆盖这些环节。
限制级组件申请:风险自担与审批要点
对于有风险又必须使用的组件,项目负责人可申请限制级组件使用,需填写申请原因、组件坐标、漏洞等级、使用说明、整改计划、规避措施、团队账号及联系人等信息。审批通过后,可在组件仓库中单独授权给该团队使用,且使用团队需独立承担风险后果。文章还提到报备制与申请制两种形式,后者审核更严、工作量更大,企业可酌情选择。
SCA工具阻断与私仓引用审查:技术管控如何落地
SCA工具自带阻断功能,通过组件库插件记录违规上传/下载操作,并生成包含IP、时间、操作人员的阻断日志。同时,审查项目开发所用组件是否在私服仓库引用,可防止绕过企业组件库私自下载。由于SCA本地部署并配置了内部组件库,若开发私自引入组件,扫描结果会因无法匹配而标识为非组件库来源,提示安全人员关注。
Q&A
SDL安全建设的主要目标是什么?
SDL安全建设的主要目标是通过风险管理实践和安全管控流程,确保软件供应链中的开源组件安全。
如何申请入库组件的安全审核?
开发团队需提交工单申请,安全/质量部门管理并进行病毒扫描,确认无问题后才能放入测试网。
什么情况下可以使用限制级组件?
项目负责人需申请限制级组件使用,并提交整改计划和规避措施,经过安全、质量部门审批后才能使用。
企业如何管理开源组件的风险?
企业可建立组件黑名单和白名单,禁止使用黑名单中的组件,并定期进行安全扫描以发现风险。
组件工具的阻断功能有什么作用?
组件工具的阻断功能可以记录违规操作,阻止未授权的上传和下载,并生成日志以便追踪。
如何确保开发过程中不使用未授权的开源软件?
企业所有开源软件和容器镜像必须从开源治理平台获取,禁止私自使用未引入的软件,并定期审查项目开发所用组件。