美文网首页
codeql学习案例

codeql学习案例

作者: 海里的沙丁鱼 | 来源:发表于2021-04-07 19:08 被阅读0次

思路是找到一个开源的java项目,然后用codeql去检测。因为有vscode、cli两种方式可以用。这里选择CodeQL命令行界面(CLI)来运行。

一. 物料准备

1.1 拉取开源项目

git clone https://gitee.com/log4j/pig.git

1.2 下载codeql

git clone git@github.com:github/codeql.git

1.3 下载code-cli

下载地址,选择自己需要的版本。

1.4 配置codeql环境

见此文
以上就把需要的东西准备好了。下面开始正式操作。

二. 操作分析

2.1 在pig项目下,生成数据库

codeql database create java-database --language=java --command='mvn clean install'

备注:这里是用mvn来编译的java,如果电脑里没有mvn环境,需要自己安装一下mvn。
更多见

2.2 编写ql查询语句

刚开始学习,可能还不会这个语句,可以选择第1.2的下载下来的查询语句来运行。例如
codeql-main/java/ql/src/Security/CWE/CWE-020/UntrustedDataToExternalAPI.ql
把codeql里的ql文件夹复制到pig目录下。

cd pig/
cp codeql-main/java/ql ./

2.3 执行分析

cd pig/
codeql database analyze java-database ql/security/CWE/CWE-020/UntrustedDataToExternalAPI.ql  --format=csv --output=result.csv

2.4 查看分析结果

执行2.3命令后,可以看到生成result.csv文件。文件内容如下:


image.png

分析结果见

相关文章

  • codeql学习案例

    思路是找到一个开源的java项目,然后用codeql去检测。因为有vscode、cli两种方式可以用。这里选择Co...

  • CodeQL官方教程中几道QL练习题

    跟着CodeQL官方的QL tutorials[https://codeql.github.com/docs/wr...

  • codeql

    CodeQL静态代码扫描之实现关联接口、入参、和危险方法并自动化构造payload及抽象类探究[https://m...

  • CodeQL——安装配置 CodeQL CLI

    CodeQL CLI是一个命令行工具,用于在开源软件项目上本地运行CodeQL进程。可以使用CLI做:运行Code...

  • 【安全漏洞】利用CodeQL分析并挖掘Log4j漏洞

    前言 分析漏洞的本质是为了能让我们从中学习漏洞挖掘者的思路以及挖掘到新的漏洞,而CodeQL就是一款可以将我们对漏...

  • 数字心理学解读案例3

    案例反馈一 案例二 案例三 案例四 案例五 案例六 案例七 案例八 案例九 案例十 案例十一 一同学习的师妹,被我...

  • DT_Spark_AI电子书

    30个真实商业案例代码中成为AI实战专家(10大机器学习案例、13大深度学习案例、7大增强学习案例)课程大纲和五节...

  • 学习案例

    描述自己的相关经验 一年前准备好新概念4册书,还在网上报了课程,学习了一段时间,慢慢地就扔下了,直到2017年...

  • 《案例学习》

    伊川王利珍坚持分享第1224天 听你说了这么多,我尤其注意的是你很痛苦于自己处于小三的这个位置,对于需要面对与遭遇...

  • 《案例学习》

    伊川王利珍坚持分享第1225天 当事人:这样跟你谈过几次之后,我觉得真的学到很多了,我真的有回去想,回去思考。 咨...

网友评论

      本文标题:codeql学习案例

      本文链接:https://www.haomeiwen.com/subject/xevukltx.html