开发工具的异常问题,有可能向软件产品引入缺陷,也有可能漏掉已经存在的故障。ISO26262 有工具置信度 TCL 相关评估要求,ISO/SAE21434 需要评估工具自身的网络安全风险,而在 ASPICE 评估当中,也要求项目说明所使用工具,保留工具版本、工具使用相关记录。不少项目只关注功能产出,忽略工具本身的管控,等到审核的时候,拿不出工具版本锁定、风险分析、资质相关材料。
工具链管控落地经常出现不少合规短板。项目开发、测试环境工具版本不锁定,不同工程师本地工具版本不一致,复现测试结果存在困难。直接使用工具厂商提供的资质文档,不结合本项目实际使用场景做分析,把通用资质直接当做本项目的 ASPICE 与安全证据。工具发生升级,没有评估新版本对于本项目的影响,直接替换使用。工具相关记录分散在工程师本地电脑,没有统一归档,ASPICE 评估时找不到工具使用、版本变更记录。忽略工具自身网络安全风险,不评估工具漏洞对于项目带来的影响。
工具资质不等于项目证据,厂商给出来的工具资料,需要结合本项目实际使用场景做研判,工具的版本、使用场景、风险分析记录,也要纳入 ASPICE 项目过程资产统一管理。
项目前期梳理项目完整工具清单,区分开发、编译、静态分析、测试、仿真各类工具,记录每款工具在本项目的实际用途。开展工具影响分析,评估工具出错会不会向产品引入缺陷,能不能在后续环节发现工具带来的错误,完成 TCL 等级判定。针对高置信度要求的工具,收集工具资质包,同时结合项目使用场景补充分析记录。项目环境锁定工具版本,禁止开发人员随意升级工具,工具升级变更走正式变更流程,评估升级带来的影响。
同时开展工具网络安全风险评估,关注工具本身漏洞、工具工程文件被篡改的风险,制定防护措施。全部工具清单、影响分析报告、版本记录、变更记录统一归档,作为 ASPICE 评估、安全审核共用证据。
内部预审环节,核查工具清单、版本锁定记录、工具影响分析材料,识别直接照搬厂商资质,缺少项目场景分析的问题。
工具是车载研发必不可少的载体,不能只关注工具输出的代码、测试报告,也要管好工具本身的版本、风险与记录,一套完整工具管控证据,同时支撑 ASPICE 评估、ISO26262、ISO/SAE21434 多维度审核。
