配置相关文件和依赖
- 新建目录codeql存放cli, lib文件夹,如下图:
- 下载分析程序:https://github.com/github/codeql-cli-binaries/releases/latest/download/codeql.zip,解压存放到cli
- 分析程序支持主流的操作系统,Windows,Mac,Linux
- 下载相关库文件:https://github.com/Semmle/ql,直接git clone到lib
- 库文件是开源的,我们要做的是根据这些库文件来编写QL脚本。
- 下载最新版的VScode,安装CodeQL扩展程序:https://marketplace.visualstudio.com/items?itemName=GitHub.vscode-codeql
- 在vscode上配置codeql相关参数,选择扩展配置,配置对应的codeql分析程序目录地址中的codeql二进制文件
基础使用
建立分析数据库
- 随意克隆一个项目,并添加到vscode中
# 先建立个软连接,方便执行命令; 我这里是mac
ln -s /Users/bing/Documents/workenv/codeql/cli/codeql /usr/local/bin
# 随意克隆一个项目
git clone https://github.com/Lee-0x00/wukong-agent
# cd到克隆的项目目录下, 执行如下命令
codeql database create python_test --language=python
# 建立分析数据库成功
- 打开vscode,把数据库添进来,如下:
- 在vscode资源管理器中,打开之前下载的ql库文件夹(如果不行,退出vscode重新打开把文件夹添加进资源管理器中)
- 在ql库文件夹python/ql/src中新建test.ql,设置python_test为当前数据库,并编写ql右击选择codeql query进行测试;如下:
基础语法,参考: https://codeql.github.com/docs/codeql-language-guides/basic-query-for-python-code