查看原文
其他

codeql使用(一)

Alpha 天才少女Alpha 2023-04-08

最近重新开始学习 codeql。很看好它。今天主要是安装,然后用它内置的查询语句试了试我自己的项目

codeql 安装

  • 1.安装命令行 codeql-cli 下载地址:https://github.com/github/codeql-cli-binaries/releases 下载完,解压。添加到 path 目录,设置为全局变量。

  • 2.安装 codeql 查询引擎 下载地址:https://github.com/github/codeql/releases 下载完 解压。和 codeql-cli 同一目录下(因为 codeql-cli 把同层目录作为查找路径),并将 codeql-cli 放在系统目录中

  • 3.安装 vscode 插件 codeql,并且在 codeql 插件设置里填 codeql-cli 地址

注意点

  • 1.你的项目编译工具比如我的项目需要 mvn,你电脑上得提前安装好 Mvn 并且设置好全局变量。mvn 里 jdk 版本要和项目 Pom 文件里需要的一致不然会编译失败

codeql 使用

codeql 使用顺序 首先生成(创建)特有的数据库 然后用自己写好的查询语句 去执行这个数据库

常用命令

  • 创建数据库 :codeql database create source_database_name --language=""
下面是我的java项目生成数据库命令 codeql database create D:/codeview/database3 --language="java" --command="mvn clean install --file pom.xml -Dmaven.test.skip=true" --source-root=C:/Users/xx/Desktop/codeview/RefiningStone-RBAC/ --overwrite
  • 查询语句
    • codeql analyze 命令可以执行单个 ql 文件
    • 目录下所有 ql 文件
    • 查询 suite(.qls)
codeql database analyze source_database_name codeql-main\java\ql\src\codeql-suites\java-code-scanning.qls --format=csv --output=java-results.csv

如我使用 java 语言内置的所有查询语句。根据不同语言写不同查询语句

codeql database analyze database3 D:\codeview\codeql\codeql-main\java\ql\src\codeql-suites\java-code-scanning.qls --format=csv --output=java-results.csv
  • 使用结果

它只找到两个漏洞

* 1.CSRF vulnerability due to protection being disabled.
* 2.Use of a broken or risky cryptographic algorithm

待续……

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存