Veracode中文网站 > 新手入门 > Veracode怎么选择需要扫描的模块 Veracode模块选择错误会影响哪些扫描结果
教程中心分类
Veracode怎么选择需要扫描的模块 Veracode模块选择错误会影响哪些扫描结果
发布时间:2026/08/21 13:16:15

  Veracode Static Analysis在正式扫描前会执行Prescan,识别上传包中的顶层模块、依赖项和支持文件,再确定实际分析范围。进行“Veracode怎么选择需要扫描的模块,Veracode模块选择错误会影响哪些扫描结果”时,关键不是把识别到的文件全部勾选,而是确保真正承载自研业务代码和外部数据入口的顶层模块进入扫描范围。模块选择不准确,会直接影响缺陷覆盖范围,也可能进一步影响应用的策略评估结果。

  一、Veracode怎么选择需要扫描的模块

 

  Veracode中的Module代表上传应用中可独立分析的组件。Prescan会识别顶层模块以及它们引用的依赖和支持文件,当前Static Analysis只能选择顶层模块作为扫描入口。

 

  1、先正确准备并上传扫描包

 

  模块识别是否准确,首先取决于上传包本身。

 

  ①按照当前语言的Veracode打包要求准备编译产物或源代码包,不要把多个无关应用随意合并到同一个压缩包。

 

  ②进入应用对应的Static Analysis页面,上传准备好的扫描文件。

 

  ③等待【Prescan】完成,不要在预扫描失败的情况下直接判断模块缺失。

 

  ④Prescan成功后进入【Modules】页面,查看Veracode实际识别出的顶层模块。Veracode官方说明,Prescan不仅验证上传内容是否满足扫描要求,还负责确定可作为入口的顶层模块。

 

  对于大型应用,上传内容过于复杂还可能增加扫描时间并造成结果不稳定,因此同一应用的连续扫描最好保持打包方式一致。

 

  2、优先选择自研代码的入口模块

 

  顶层模块通常是具有外部数据入口、包含第一方代码的组件,而第三方库和支持文件会作为依赖关系参与分析。

 

  ①在【Modules】页面找到业务程序真正的入口,例如Web应用、服务程序或主要可执行组件。

 

  ②勾选对应模块的【Entry Point?】。

 

  ③多个独立业务入口都属于当前应用时,需要分别确认,不能只选择其中一个主程序。

 

  ④不要因为某个DLL或JAR文件名熟悉就直接把它当成扫描入口,应以Prescan识别出的顶层模块为准。

 

  Veracode当前已取消对第三方模块作为扫描选择对象的支持,目的之一就是提高扫描准确性和性能,因此模块选择应集中在第一方顶层模块。

 

  3、自动扫描时检查模块选择策略

 

  如果启用了自动扫描,Prescan成功后Veracode可以自动选择顶层模块并开始分析;关闭自动启动后,则可以人工确认需要包含或排除的模块。

 

  ①首次接入应用时,可以先关闭自动启动,手工核对一次模块列表。

 

  ②确认模块识别稳定后,再根据团队流程决定是否启用【自动选择并扫描】。

 

  ③CI/CD使用Upload and Scan时,如果通过模式指定模块,要确保匹配的是【模块名称】而不是简单按照上传文件名猜测。

 

  ④应用新增顶层模块后,还要确认自动化配置是否允许将新模块纳入扫描。Veracode的Upload and Scan参数说明明确指出,模块名称可能与文件名不同,并提供自动包含新顶层模块的相关设置。

 

  二、Veracode模块选择错误会影响哪些扫描结果

 

  模块选择决定Static Analysis从哪些入口开始分析,因此选少和选错都会改变实际覆盖范围。发现同一版本扫描出的缺陷数量突然明显变化时,应把模块选择和上传包变化列入重点检查项。

  1、漏选模块会造成缺陷覆盖不完整

 

  假设一个应用包含Web前端入口、后台服务和独立接口服务,只选择其中一个顶层模块,其他入口中的第一方代码可能不会进入本次完整分析范围。

 

  ①对比【Prescan】识别的顶层模块和实际勾选模块。

 

  ②确认所有属于当前应用安全边界的入口都已包含。

 

  ③重点核对新增服务、拆分后的可执行组件和新部署模块。

 

  ④发现遗漏后重新选择正确模块并重新扫描。

 

  Veracode说明,顶层模块就是用来确定要分析哪些组件及其依赖的入口,因此遗漏入口模块会改变扫描范围。

 

  2、模块变化会影响缺陷数量和结果连续性

 

  前后两次上传包或模块选择不同,即使源代码没有大幅变化,也可能看到缺陷总量出现明显波动。

 

  ①比较两次Prescan的【模块名称】和数量。

 

  ②确认上一次选择的入口模块在新扫描中仍然存在。

 

  ③检查构建方式是否从单体包改成多个独立模块,或文件结构发生变化。

 

  ④需要做版本趋势比较时,尽量保持打包内容和入口模块选择一致。Veracode也建议连续扫描使用一致的应用打包文件,以保持结果一致性并支持缺陷匹配。

 

  3、可能进一步影响策略判断

 

  策略扫描会依据扫描发现的问题判断应用是否符合组织安全策略。如果关键模块没有进入分析范围,当前结果反映的只是实际扫描范围内的安全状态,而不能代表被遗漏代码已经通过检查。

 

  因此,出现【Policy Passed】时仍要先确认扫描范围完整,尤其是在应用刚拆分模块、调整构建流程或新增服务后,不能只根据最终状态判断整套应用已经覆盖。

 

  4、选入过多模块也会增加扫描负担

 

  模块不是越多越好。例如.NET应用中,Veracode指出选择超过1000个模块可能延长扫描时间,甚至导致扫描失败。

 

  ①Prescan后先清楚区分业务顶层模块和依赖关系。

 

  ②大型应用模块数量过多时,检查是否应该拆分为多个Application Profile。

 

  ③不要为了避免漏扫而无差别扩大扫描入口。

 

  三、Veracode模块选择完成后怎么验证

 

  模块配置完成后,最重要的是确认扫描范围能够长期保持稳定。

 

  ①保存一次正常Prescan中的【顶层模块列表】,作为后续版本对照。

 

  ②新版本扫描前重点检查新增、消失和改名的模块,而不是只看数量。

 

  ③扫描结束后结合缺陷所在文件和模块检查结果分布,确认主要业务组件确实产生了分析结果。

 

  ④如果缺陷数量突然大幅下降,又没有相应代码整改,应先复核上传包和模块范围,再判断安全质量是否真正改善。

  总结

 

  Veracode的模块选择本质上是在确定静态分析的安全边界。一个结果是否具有参考价值,不仅取决于发现了多少缺陷,更取决于应当分析的业务入口是否被完整覆盖。建立稳定的打包方式和模块基线,可以让不同版本的缺陷趋势、策略状态和整改效果具备更可靠的可比性。如需进一步了解Veracode扫描模块选择、模块选择错误对扫描结果的影响及扫描范围验证方法,欢迎联系咨询。

135 2431 0251