0、安装环境
-安装命令行codeql-cli(执行文件)添加到path目录,设置为全局变量。
https://github.com/github/codeql-cli-binaries/releases
解压文件编辑环境变量
-安装codeql查询引擎(SDK引擎)
https://github.com/github/codeql
codeql-cli同目录下(因为codeql-cli把同层目录作为查找路径)
vscode 安装插件codeql
1、创建数据库
codeql database create ruoYi4.6Database --language=java --command="mvn clean install" --source-root=C:\XDdata\011-codeaudit\117--JavaEESQLcodeIDEAzip\RuoYi-v4.6.0\RuoYi-v4.6.0 --overwrite
ruoYi4.6Database
:数据库名称。--language=java
:明确指定语言为Java。--command="mvn clean install --file pom.xml -Dmaven.test.skip=true"
:构建命令。--source-root=C:\XDdata\011-codeaudit\117--JavaEESQLcodeIDEAzip\RuoYi-v4.6.0\RuoYi-v4.6.0
:源代码根目录。--overwrite
:如果目标数据库已存在,则覆盖。
2、配置codeql.exe,执行扫描规则
将codeql-main添加到工作区,选择语言,右键运行Codeql:Set Current Database
(真实体验还是用下面方法好!)
codeql database analyze C:\XDdata\011-codeaudit\117--JavaEESQLcodeIDEAzip\RuoYi-v4.6.0\RuoYi-v4.6.0\ruoYi4.6Database C:\XDdata\011-codeaudit\codeql-main\java\ql\src\codeql-suites\java-code-scanning.qls --format=csv --output=result.csv
这是CodeQL命令行工具中的一个子命令,用于对指定的CodeQL数据库进行分析。它会执行一组查询并生成分析结果。
1. C:\XDdata\011-codeaudit\117--JavaEESQLcodeIDEAzip\RuoYi-v4.6.0\RuoYi-v4.6.0\ruoYi4.6Database
这是要分析的CodeQL数据库的路径。这个数据库包含了从源代码生成的CodeQL数据库,之前已经创建好。
2. C:\XDdata\011-codeaudit\codeql-main\java\ql\src\codeql-suites\java-code-scanning.qls
这是一个CodeQL查询套件(Query Suite)的路径。查询套件是一个或多个CodeQL查询的集合,可以一次性对数据库运行多个查询。java-code-scanning.qls
通常包含了一组针对Java代码的安全扫描查询。
4. --format=csv
这个选项指定了输出结果的格式。csv
表示输出将以逗号分隔值(CSV)格式生成,便于进一步处理和分析。
5. --output=result.csv
这个选项指定了输出文件的路径和名称。结果将保存到result.csv
文件中。