CODEQL使用简介

codeql

codeql是一个可以对代码进行分析的引擎, 安全人员可以用它作为挖洞的辅助或者直接进行挖掘漏洞,节省进行重复操作的精力

下载:

解析引擎:https://github.com/github/codeql-cli-binaries/releases

SDK(规则库):https://github.com/github/codeql

使用方式简介:

1.解压解析引擎,将目录添加到环境变量,方便之后运行命令

2.执行命令,生成我们需要分析项目对应的database

注意:windows中建议用cmd不用powershell,powershell识别命令有bug

codeql database create 生成的数据库名 --language=项目语言 --source-root=项目源码路径 --command="编译命令"

codeql database create D:\Codeql\database\xxxdatabase --language=java --source-root=D:\project\DemoPro --command="mvn clean install -Dmaven.test.skip=true -Dmaven.repo.local=D:\maven\Rep --settings D:\maven\settings.xml"

 

#--source-root=源码路径 如果没有指定则需要进入到项目的pom目录中运行命令,指定了就可以在任何目录运行命令

#--command="编译命令" 如果项目需要编译,则需要添加此命令

3.执行扫描规则,生成分析结果

codeql database analyze 上一步生成的数据库路径名 扫描规则文件路径 --format=结果输出格式 --output=结果文件输出路径

运用官方规则集生成扫描结果

codeql database analyze D:\Codeql\xxx-database D:\Codeql\codeql-main\java\ql\src\Security\CWE --format=csv --output=D:\Codeql\result\result.csv
codeql database analyze D:\Codeql\xxx-database D:\Codeql\codeql-main\java\ql\src\codeql-suites\java-lgtm.qls --format=sarif-latest --output=D:\Codeql\result\result.sarif-latest

codeql帮助文档:

https://codeql.github.com/docs/codeql-overview/

https://www.freebuf.com/articles/web/283795.html

posted @ 2023-04-23 11:47  少年阿丁  阅读(416)  评论(0编辑  收藏  举报