正式的CMA测试报告是官方的总结性文件,内容聚焦于客观陈述测试结果和是否符合预定标准,不会包含具体的修复指导。而详细的修复建议,通常会以其他形式提供给您,作为指导后续整改的技术依据。
CMA软件测试报告:官方、正式的总结性文件。包括测试结论、主要质量特性(功能性、性能效率、信息安全性等)的符合性陈述、发现的主要缺陷概述等。作为项目验收的法定凭证,提交给专家组、建设单位及审计部门,证明软件已达到合同要求的质量基线。
缺陷和漏洞详情及修复建议:配套的技术性文档或内部系统记录。通常以缺陷清单(Bug List)、漏洞扫描详细报告等形式存在。作为指导开发团队进行问题修复的详细手册。是整改阶段的核心依据,一般不作为正式验收材料提交。
修复建议通常包含哪些具体内容?
这些详细的修复指引为了帮助您的开发团队准确定位并解决问题。一份专业的建议一般包括:
问题精确描述和定位:指出问题所在的模块、功能点,甚至具体的代码文件、接口或配置项。如,在HCL AppScan这类工具的报告中,会提供易受攻击的源代码行号。
复现步骤:提供清晰、可操作的操作序列,让开发人员能在测试环境中稳定地重现该缺陷或漏洞。
严重性评估和风险说明:对问题进行风险评级(如高、中、低),解释该问题被利用,对系统造成的影响,如数据泄露、权限提升或服务中断。
根因分析:分析问题的原因,如输入验证缺失、访问控制逻辑错误或不安全的代码写法。
具体的修复方案:方案可能包括:推荐的安全补丁或版本更新;修复的代码示例或安全编码建议;修改配置文件的指导;以及临时的缓解措施(当无法立即根治时)。
修复优先级建议:帮助您合理分配资源,一般会结合漏洞的严重程度、利用的难易度和受影响问题的重要性,来建议修复的先后顺序。
如何在项目流程中确保获取并利用好这些建议?
前期确定好约定:在和检测机构签订合同时,明确要求交付物中除CMA报告外,必须包含详细的缺陷/漏洞清单及修复建议,并将其作为技术附件或独立交付物。
进行优先排序:收到详细报告后,应立即组织开发和安全团队,根据问题严重性和项目风险,对所有待修复项进行排序并制定修复计划。
指导修复和验证:开发团队依据建议进行修复,并在修改完成后,进行针对性的回归测试,保证问题已解决且未引入新问题。
必要时复测:对于重要或严重问题,可请原检测机构对修复版本进行针对性复测,并将复测通过的证据作为验收材料的补充。
政府项目验收的软件测评,最终交付物是分层的:一份用于合规的总结性CMA报告,和一份用于指导整改的详细技术建议。两者结合,才能既满足验收的合规要求,又切实提升软件质量。