CodeQL CLI入门
CodeQL CLI — CodeQL (github.com)
创建CodeQL数据库
https://codeql.github.com/docs/codeql-cli/creating-codeql-databases/
codeql database create <database> --language=<language-identifier>
指定build命令#
codeql database create java-database --language=java --command="mvn clean install"
codeql database create luckyehrweb-ql -l java --command="mvn clean package -Dmaven.test.skip=true -P test3"
多个语言
使用CodeQL CLI 分析数据库
https://codeql.github.com/docs/codeql-cli/analyzing-databases-with-the-codeql-cli/
语法
codeql database analyze <database> <queries> --format=<format> --output=<output>
执行一个查询#
使用示例
codeql database analyze "C:\Users\loulan\Desktop\CodeQL\CorpCodebase\LUCKYEHRWEB-master\luckyehrweb-ql" "C:\Users\loulan\Desktop\CodeQL\vscode-codeql-starter\codeql-custom-queries-java\example.ql" --format=csv --output=luckyehrweb-xss-result.csv
codeql database analyze "D:\CodeQL\corp-codebase\EHRWEB-AGG\ehrweb-agg-ql" example-xss.ql --format=sarif-latest --output=results.sarif
codeql database run-queries "D:\CodeQL\corp-codebase\LUCKYEHRWEB-master\luckyehrweb-ql" "D:\CodeQL\corp-codebase\example\example.ql"
https://codeql.github.com/docs/codeql-overview/codeql-glossary/#bqrs-file
codeql query run --database="D:\CodeQL\corp-codebase\LUCKYEHRWEB-master\luckyehrweb-ql" "D:\CodeQL\corp-codebase\example\example.ql"
执行GitHub代码扫描套件#
执行多个查询#
CodeQL CLI支持指定一个目录,CodeQL CLI会允许该目录下所有的CodeQL查询文件。
示例如下
codeql database analyze <python-database> ../ql/python/ql/src/Functions/ --format=sarif-latest --output=python-analysis/python-results.sarif
扫描报告#
使用CodeQL输出sarif格式的结果文档
首先在VSCode中安装扩展Sarif Viewer
然后使用database analyze查询数据库,指定输出格式
codeql database analyze <python-database> <ql-file> --format=sarif-latest --output=python-analysis/python-results.sarif
注意:ql文件的元数据中必需要给id、kind、problem.severity配置上值
在VSCode中打开sarif文件时,会自动弹出两个界面如下所示
当打开的时候只有下面一个界面时,
可以右键-命令面板(Ctrl+Shift+P),然后输入show panel即可打开另一个面板
点击这些节点时,默认会提示无法找到这个文件
我们复制一个文件名,例如RoleServiceImple.java,然后Ctrl+P,输出这个文件名,进来以后,再去点击其他的节点时,就会发现可以自动识别了
更新CodeQL 数据库
codeql database upgrade <database>
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人