扫描完成后,Veracode会持续记录缺陷的发现、处理和验证状态。开发人员修复代码、提交缓解说明或关闭外部工单,并不一定会立即改变平台中的风险结果。了解Veracode缺陷状态怎么管理Veracode缺陷关闭后为什么仍然显示风险,可以帮助团队区分代码修复、风险缓解和工单关闭,避免把不同状态混在一起判断。
一、Veracode缺陷状态怎么管理
缺陷处理通常分为代码修复和风险缓解两条路径。代码修复需要通过后续扫描验证,风险缓解则需要提交说明并完成审批。
1、查看需要处理的缺陷
①登录Veracode平台。
②进入【我的项目组合】→【应用程序】。
③打开需要检查的应用。
④进入【结果】→【缺陷分类】。
⑤使用【严重程度】【缺陷状态】【缺陷类型】筛选结果。
⑥点击缺陷编号,查看代码位置、问题说明和修复建议。
需要多人协作时,可先勾选缺陷,将其签出。签出后会出现锁定标记,其他人员可以看到该缺陷正在被处理。
2、为暂时无法修复的缺陷提交缓解
①在【缺陷分类】中勾选目标缺陷。
②展开缺陷详情。
③打开【操作】下拉菜单。
④选择合适的处理方式。
⑤在【评论】中填写判断依据。
⑥点击【保存】。
可选择的处理方式包括【设计缓解】【网络环境缓解】【操作系统环境缓解】【潜在误报】【已报告给库维护者】和【接受风险】。
提交后只是形成缓解建议,并不等于缺陷已经被平台认可为已处理。具有审批权限的人员还需要继续完成审核。
3、审批缓解建议
①进入应用的【缺陷分类】。
②在搜索条件中选择【缓解状态】。
③筛选【已提交缓解】。
④勾选需要审核的缺陷。
⑤展开缺陷详情。
⑥在【操作】中选择【接受缓解】或【拒绝缓解】。
⑦填写审核意见并点击【保存】。
只有具备缓解审批权限的账号才能执行接受或拒绝操作。缓解被接受后,该缺陷不再参与应用策略状态和评分计算,但仍会保留在已缓解缺陷记录中。
4、通过重新扫描确认代码修复
代码修改完成后,不能在平台中直接把缺陷手动改成已修复。
①修复缺陷对应的代码。
②重新编译并生成完整扫描包。
③进入【我的项目组合】→【应用程序】。
④打开目标应用。
⑤点击【开始扫描】→【静态扫描】。
⑥上传新的构建文件。
⑦确认模块后点击【开始扫描】。
⑧扫描完成后重新查看缺陷状态。
如果新的扫描中不再检测到该问题,缺陷才会被标记为已修复。仅修改代码但没有重新扫描,平台中的状态不会自动变化。
二、Veracode缺陷关闭后为什么仍然显示风险
缺陷显示为关闭后仍有风险,通常不是页面没有更新,而是关闭的位置、处理方式或策略判断条件并不相同。
1、关闭的是外部工单
在Jira、Azure DevOps等工具中关闭任务,只会改变工单状态,不会直接修改Veracode中的缺陷状态。
代码已经修复时,需要重新扫描应用。扫描结果发布后,再重新同步工单,外部任务才会根据Veracode中的已修复或已缓解状态更新。
2、缓解仍处于待审批状态
开发人员选择【潜在误报】或【接受风险】并填写说明后,缺陷只进入缓解申请阶段。
进入【缺陷分类】后,筛选【已提交缓解】。如果该缺陷仍在列表中,说明审批人员还没有选择【接受缓解】。未被接受的缓解仍可能影响策略结果。
3、已缓解缺陷仍会保留记录
接受缓解并不是把缺陷从系统中删除。平台会把它移动到已缓解缺陷区域,并在报告中保留相关说明。
此时应区分“仍能看到缺陷”和“缺陷仍参与策略计算”。已接受的缓解不会继续影响策略状态,但在已缓解列表或报告附录中仍然可以查看。
4、新扫描没有使用修复后的文件
代码已经修改,但上传了旧构建包,缺陷仍会再次出现。
①打开最近完成的扫描。
②核对扫描名称和上传时间。
③进入【审查模块】查看文件名称。
④检查构建服务器中的提交编号。
⑤确认上传文件来自修复后的代码。
⑥重新打包并发起扫描。
如果同一个缺陷在新扫描中再次被识别,状态还可能变为重新打开。
5、应用还有其他策略风险
一个缺陷被修复或缓解,不代表整个应用立即通过策略。
进入【结果】→【策略评估】,继续检查是否存在其他未处理缺陷、扫描频率不符合要求、最低评分未达到要求或宽限期已经结束。应用风险由完整策略综合判断,不只取决于某一个缺陷。
三、缺陷处理完成后怎么确认风险已经更新
代码修复或缓解申请完成后,还要确认平台已经识别到新的处理结果。缺陷页面、扫描记录和策略评估需要一起查看,只核对其中一项,容易误判缺陷是否真正关闭。
1、核对缺陷当前状态
①进入【我的项目组合】→【应用程序】。
②打开对应应用,进入【结果】→【缺陷分类】。
③输入缺陷编号,找到需要确认的问题。
④查看【缺陷状态】和【缓解状态】。
⑤展开评论记录,确认缓解申请是否已经通过审批。
代码修复后的缺陷,应在新一轮扫描中显示为已修复。采用风险缓解方式处理时,则要确认缓解状态已经被接受,而不是仍停留在待审核阶段。
2、确认风险是否来自其他问题
①进入应用的【策略评估】。
②查看当前策略状态和未处理缺陷数量。
③按照严重程度、缺陷类型和处理状态筛选问题。
④检查是否还有其他缺陷影响策略结果。
⑤核对最近扫描时间,确认结果来自修复后的构建文件。
某条缺陷关闭后,应用仍然显示风险,并不一定说明该缺陷没有处理成功。其他未修复问题、未通过的缓解申请或尚未更新的扫描结果,都可能继续影响应用状态。
总结
Veracode中的缺陷关闭、缓解通过和应用风险下降,并不是完全相同的状态。处理问题时,既要确认代码修复是否经过重新扫描,也要检查缓解审批和策略评估是否已经更新。弄清Veracode缺陷状态怎么管理Veracode缺陷关闭后为什么仍然显示风险,可以帮助团队更准确地判断问题处理进度,避免因为页面上仍能看到缺陷记录,就误认为修复没有生效。希望本文能为Veracode缺陷管理和风险核对提供帮助,如有相关需求,欢迎联系咨询。