【作者踩坑总结0错版】vscode配置codeql-MacBook(M1/M2芯片-arm)


前言

最近在弄代码审计,要配置codeql,这工具在国外很流行,但是国内的资料缺非常少,b站的视频讲的太水了,九不搭八,外网的视频又听不太懂,跟着csdn上面其他博主的配置步骤来搞疯狂报错!!!!搞了2天都搞不定,无奈,还是得靠自己来。所以有了这篇文章,跟着我的来,绝对不会出错,如果跟着一步步来还是报错,是兄弟直接来砍我。


提示:以下是本篇文章正文内容,下面案例可供参考

一、codeql是什么

codeql是一款静态代码分析引擎。适用于安全人员审计源码,挖掘漏洞。想了解更多
自己百度,毕竟不是本文重点。

二、安装必备工具

codeql的安装分为两个部分:

2.1、安装codeql-cli

https://github.com/github/codeql-cli-binaries/releases
在这里插入图片描述

2.2、安装codeql仓库

https://github.com/github/codeql

在这里插入图片描述

codeql-cli:cli即command-line interface。主要用来执行codeql的命令。
codeql仓库:包含多种语言的ql查询文件。

2.3、桌面新建文件夹

桌面新建一个CodeQL的文件夹,文件夹里面新建3个文件,分别是:codeql-cli、codeql-repo、databases。
在这里插入图片描述

codeql-cli:里面放的就是codeql-osx64.zip的解压内容。
codeql-repo:里面放的是https://github.com/github/codeql下载的压缩包解压内容。
databases:空文件夹,后面用来放codeql生成的数据库文件,现在暂时是空文件夹。

2.4、安装vscode

https://code.visualstudio.com/

在这里插入图片描述

三、配置codeql环境变量

mac的M芯片的终端是zsh的。终端配置文件在 ~/.zshrc

在这里插入图片描述

我的配置文件如下:

export PYENV_ROOT="$HOME/.pyenv"
export PATH="/Users/zangcc/Desktop/CodeQL/codeql-cli:$PYENV_ROOT/bin:$PATH"
if command -v pyenv 1>/dev/null 2>&1; then
  eval "$(pyenv init -)"
fi

#java8
export JAVA_8_HOME="/Library/Java/JavaVirtualMachines/jdk1.8.0_351.jdk/Contents/Home"
alias jdk8='export JAVA_HOME=$JAVA_8_HOME'

#java20
export JAVA_20_HOME="/Library/Java/JavaVirtualMachines/jdk-20.jdk/Contents/Home"
alias jdk20='export JAVA_HOME=$JAVA_20_HOME'

#默认使用jdk8
export JAVA_HOME=$JAVA_8_HOME

如果你的配置文件没有配置多java环境,那么直接添加(codeql-cli的绝对路径):

export PATH="/Users/zangcc/Desktop/CodeQL/codeql-cli:$PATH"

如果你跟我一样,之前配置过多java环境,那么就要在PATH那里添加多一条(codeql-cli的绝对路径),用:隔开。

export PATH="/Users/zangcc/Desktop/CodeQL/codeql-cli:$PYENV_ROOT/bin:$PATH"

然后,刷新配置文件,让他生效。

source ~/.zshrc

在终端直接输入codeql,出现下面的信息,说明成功了。

在这里插入图片描述

配置mvn。
https://maven.apache.org/download.cgi
在这里插入图片描述

继续在zshrc配置文件里添加:
在这里插入图片描述

刷新配置文件,让他生效。

source ~/.zshrc

四、vscode配置codeql插件

4.1、下载测试靶场

https://github.com/l4yn3/micro_service_seclab/

在这里插入图片描述

下载完之后解压,然后放到你的一个目录下。(我是放到桌面,放CodeQL里面了)
在这里插入图片描述

4.2、生成数据库文件(最难最多bug)

终端输入以下命令:

codeql database create /Users/zangcc/Desktop/CodeQL/databases/codeql_demo --language="java" --command="mvn clean install -DskipTests --file pom.xml" --source-root=/Users/zangcc/Desktop/CodeQL/micro_service_seclab

database create:创建数据库。比如我这里就是在/Users/zangcc/Desktop/CodeQL/databases/目录下新建一个codeql_demo文件夹,这个codeql_demo文件夹里面就是生成的数据库内容了。
language:语言,因为靶场是springboot的,所以是java。
command:命令,用mvn,clean,install来编译代码。
source-root:需要代码审计的源代码根目录。

出现Successfully,说明生成数据库文件成功,否则都是失败。这一步要等个3分钟左右。
在这里插入图片描述

生成的数据库文件:
在这里插入图片描述

4.3、vscode配置ql数据库

安装codeql插件。

在这里插入图片描述

配置插件。
在这里插入图片描述

找到这个cli的设置,然后把codeql执行文件的绝对路径复制进去。
在这里插入图片描述
将codeql标准库,也就是repo,添加到工作区。
在这里插入图片描述

在这里插入图片描述

将生成的数据库文件夹放到vscode上面的codeql插件上,如下:

在这里插入图片描述

五、测试ql查询

在这里插入图片描述
成功。


总结

再接再厉,学好代码审计。

    文章原创,欢迎转载,请注明文章出处: 【作者踩坑总结0错版】vscode配置codeql-MacBook(M1/M2芯片-arm).。百度和各类采集站皆不可信,搜索请谨慎鉴别。技术类文章一般都有时效性,本人习惯不定期对自己的博文进行修正和更新,因此请访问出处以查看本文的最新版本。

猜你喜欢

转载自blog.csdn.net/weixin_43847838/article/details/130657057
今日推荐