栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

codeql安装

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

codeql安装

本文章为多次尝试之后,自己成功安装并运行成功codeql的记录

下载

建议下载之前先新建一个codeql目录,下载和clone的东西都放在下面

首先安装最新版的vsCode

安装扩展

在其中搜索并安装CodeQl拓展

下载codeql引擎

https://github.com/github/codeql-cli-binaries/releases

接着下载codeql引擎,选择对应版本即可
下载慢的话推荐这个平台进行代下载
云知梦

点击小齿轮,Extension Settings 打开拓展设置

把刚才下载并解压的ql引擎文件中的codeql.exe的路径填写上去

同时把codeql.exe的路径配置到环境变量path中去,这一步是为了后面使用命令行构建数据库做准备

设置workspace

接下来设置workspace

直接去clone这个项目https://github.com/github/vscode-codeql-starter,这个项目中有大佬设置好的workspace,可以直接拿来用

在clone的时候因为其包含子项目,不能直接git clone,需要加一个--recursive参数

git clone --recursive https://github.com/github/vscode-codeql-starter.git

如果https的报ssl错误,记得换成ssh的连接clone

git clone --recursive git@github.com:github/vscode-codeql-starter.git
构建数据库

现在需要下载的东西都下载完成了,接下来是很重要的一步,也就是构建数据库

这里以java为例,建议第一次先新建一个maven项目,随便写点东西进去

给一个简单的maven项目建立数据库

codeql database create D:TOOLScodeqldatabasejndi --language="java" --command="mvn clean install --file pom.xml" --source-root=E:javajndi --overwrite

第一部分是给建立数据库指定的文件夹,

--source-root顾名思义就是源码文件夹

--command则是指定使用maven来帮助进行编译打包,这里是最容易出问题的地方,各种依赖呀啥的都需要编译打包之后才能添加进数据库里面进行查询

也就是说codeql需要mvn帮助打包才能构建数据库

--overwrite参数表示可以覆盖旧的数据库

对于java来说,如果在构建数据库的过程中出错了,那么一般都是因为mvn打包出了问题,可以单独在idea终端中尝试mvn clean install --file pom.xml根据报错信息来推断哪里出了问题

这里是最容易报错的,报错了一定不要气馁,慢慢排查问题所在,加油!!!

执行查询语句

首先打开vscode,通过file-> Open Workspace from file打开刚才clone好的那个workspace项目中的.code-workspace文件

这样就成功引入了workspace

接着在vsCode的侧边栏

点击这个QL,进去之后,就可以添加数据库了

通过目录引入刚才新建好的数据库

接着在custom这个目录下新建test.ql文件,编写ql语句,进行第一次查询

from int x, int y
where x = 3 and y in [0 .. 2]
select x, y, x * y as product, "product: " + product
as res order by  res desc

右键在当前数据库Run query

成功执行了

参考连接
https://blog.csdn.net/god_zzZ/article/details/123475723
https://github.com/SummerSec/learning-codeql

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/865069.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号