CodeQL——安装配置 CodeQL CLI

2021-03-31  本文已影响0人  海里的沙丁鱼

CodeQL CLI是一个命令行工具,用于在开源软件项目上本地运行CodeQL进程。可以使用CLI做:运行CodeQL分析、创造CodeQL数据库、开发和测试自定义CodeQL查询。

CodeQL CLI安装

1. 下载

下载CodeQL CLI zip压缩包,这个CodeQL CLI 包 是一个 zip 包, 包含scripts, 各种文件。
如果系统是linux、windows、macOS10.14("Mojave")或者更早的版本,下载地址
download the zip archive

2.创造工作目录

创建一个新目录,您可以在其中放置CLI和您想要使用的任何查询和库。例如,$HOME/codeql-home

cd project
mkdir codeql-home

3. 拉取CodeQL queries到工作目录

第一种方式:
在上面创建的codeql-home目录下,从github上拉取codeql库并重新命名为codeql-repo。命令如下
git clone git@github.com:github/codeql.git codeql-repo
第二种方式:
如果git clone的网络不好的话,也可以自己下载下来后把zip包放到codeql-home目录下,然后重新命名codeql文件为codeql-repo。即mv codeql codeql-repo

注释:因为codeql和codeql-cli解压后的文件名称都是codeql,为了后续有冲突,所以把codeql库拉下来后重新命名为codeql-repo。

4. Extract the zip archive

把Code CLI包解压后放入codeql-home目录下。解压后可以看到文件名称为codeql。所以要知道这里的codeql是指codeql-cli。后续的codeql,都是指codeql-cli。

5. 配置 codeql(即指配置codeql-cli工具)

添加<extraction-root>/codeqlPATH环境, 添加完成后就可以执行codeql命令.步骤如下:
笔者此处的<extraction-root>路径为/Users/codeql-home

5.1 编辑

vi ~/.profile #打开文件.profile
export PATH=$PATH:/Users/codeql-home/codeql  #追加这行命令,记得/Users/codeql-home这个路径换成自己的目录

5.2 生效

退出编辑,执行:

source ~/.profile    #生效上面添加的编辑内容

5.3 验证

在终端,执行codeql命令,可以看到下面的内容,就说明PATH配置成功。

Usage: codeql <command> <argument>...
Create and query CodeQL databases, or work with the QL language.

GitHub makes this program freely available for the analysis of open-source
software and certain other uses, but it is not itself free software. Type
codeql --license to see the license terms.

      --license              Show the license terms for the CodeQL toolchain.
Common options:
  -h, --help                 Show this help text.
  -v, --verbose              Incrementally increase the number of progress
                               messages printed.
  -q, --quiet                Incrementally decrease the number of progress
                               messages printed.
Some advanced options have been hidden; try --help -v for a fuller view.
Commands:
  query     Compile and execute QL code.
  bqrs      Get information from .bqrs files.
  database  Create, analyze and process CodeQL databases.

6. codeql命令

codeql resolve languages #显示数据库支持哪些语言
codeql resolve qlpacks  #显示CLI可以找到哪些QL packs

上一篇下一篇

猜你喜欢

热点阅读