You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure DevOps中OWASP依赖检查插件扫描Java依赖漏洞结果为空

排查与解决步骤

  • 确认扫描目录下是否存在可分析的实体文件
    当前配置的scanDirectory指向$(System.DefaultWorkingDirectory),该目录默认只存放从Git拉取的源码,不存在经Maven构建生成的target目录、也没有下载落地的第三方依赖JAR包。OWASP依赖检查本身不会主动解析pom.xml远程拉取依赖做扫描,仅会识别指定目录下实际存在的依赖实体文件(JAR/WAR/EAR等格式)。从总扫描耗时仅2秒、文件分析器运行时长为0秒的特征可以判断,当前扫描过程根本没有遍历到任何可识别的依赖文件,自然无法检出漏洞。
    解决方式:在OWASP扫描任务前新增Maven构建步骤,先执行mvn clean verify完成项目编译、依赖拉取,再启动扫描任务;也可以直接将扫描目录指定为Maven生成的target子目录,减少无效遍历。
  • 核对扫描路径参数的传递有效性
    当前使用的OWASP插件(OWASPDependencyCheck@0)存在历史参数兼容问题:当传入的扫描目录包含模板表达式拼接的变量时,部分版本会因路径转义逻辑缺陷,将扫描目录重置为插件自身的临时目录,完全无法接触到项目文件。
    解决方式:将scanDirectory参数从模板表达式改为直接使用系统变量赋值(如scanDirectory: '$(System.DefaultWorkingDirectory)'),执行后查看任务日志中打印的实际扫描路径,确认路径指向的目录真实存在且包含项目文件。
  • 通过日志校验扫描前置状态
    正常OWASP扫描的启动日志会明确打印两类关键信息:一是实际扫描的根目录路径,二是本次识别到的待分析文件总数。可在运行日志中搜索对应关键词校验:
    • 若打印的扫描路径与预期项目路径不一致,说明是参数传递逻辑错误;
    • 若待分析文件总数为0,说明路径下不存在可识别的依赖实体文件,回到第一步补全构建流程即可。
  • 排查Sonar集成功能的干扰
    当前配置开启了useSonarQubeIntegration: True,如果管道执行时没有传递有效的SonarQube上下文配置,部分版本的插件会直接跳过文件扫描逻辑,直接输出空的扫描结果。可先临时关闭该参数做单步测试,验证是否能正常检出文件。

内容的提问来源于stack exchange,提问作者MyName

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.30 11:45:04