GitHub中CodeQL自定义查询无法检出问题的排查求助
排查CodeQL自定义查询远程PR分析无结果的建议
以下是针对你的场景的具体排查步骤:
检查Workflow自定义查询配置
确认analyze步骤的queries字段是否明确包含了自定义查询路径。例如:- name: Perform CodeQL Analysis uses: github/codeql-action/analyze@v2 with: queries: security-extended,security-and-quality,./.github/codeql/codeql-custom-queries-java同时查看Workflow运行日志,确认是否有加载自定义查询包的记录,若出现路径错误、查询包未找到的提示,需修正路径配置。
修复qlpack.yml格式问题
你提供的qlpack.yml中extractor字段缩进错误,应与dependencies同级,正确格式如下:name: custom-codeql-java version: 1.0.0 dependencies: codeql/java-all: ^6.0.0 extractor: java-kotlin另外验证GitHub Actions使用的CodeQL版本是否满足
^6.0.0的依赖要求:查看Workflow日志中CodeQL的版本信息,若版本过低,可在init步骤指定兼容版本,例如:- name: Initialize CodeQL uses: github/codeql-action/init@v2 with: languages: java, javascript queries: security-extended,security-and-quality,./.github/codeql/codeql-custom-queries-java tools-version: "6.0.0"验证增量分析逻辑
PR默认使用增量分析,仅扫描变更代码。若你修改的方法未被增量分析覆盖,可临时关闭增量测试全量分析:在analyze步骤添加skip-incremental-analysis: true参数,确认是否能检出结果。同时再次确认PR中的目标方法确实满足fromSource()(非第三方库代码)且圈复杂度>20的条件。确认仓库查询套件配置
即使自定义查询在仓库设置中显示,仍需确保Workflow明确指定运行该查询。默认的security-extended/security-and-quality套件不会自动包含自定义查询,必须在queries字段中显式添加路径。查看详细分析日志
进入GitHub Actions对应的Workflow运行记录,找到CodeQL分析阶段的日志,检查:- 是否有加载自定义查询包的成功提示
- 是否存在依赖缺失、查询语法错误的报错信息
- 确认自定义查询是否被执行,以及最终结果计数(若显示0结果,需检查查询逻辑与目标代码的匹配度)
内容的提问来源于stack exchange,提问作者Matthias
相关产品推荐
相关产品推荐

