CodeQL 使用

生成DB和扫描

 基础的命令

codeql database create /Tools/databases/java-sec --language=java --command='mvn clean install -DskipTests' --source-root=/Tools/project/java-sec-code --overwrite

项目地址

GitHub - waderwu/extractor-java: CodeQL extractor for java, which don't need to compile java source

生成查询库:

python3 run.py dbname(DB的名字) srcroot(源码文件)
python3 run.py dbname(DB的名字) srcroot(源码文件) -l(后面跟具体的jar包) lib1.jar lib2.jar
python3 run.py dbname(DB的名字) srcroot(源码文件) -ld(后面跟具体的文件夹) libdir1 libdir2

使用查询java-security-extended.qls分析并生成sarif:

codeql database analyze <database> <queries> --format=<format> --output=<output>

codeql database analyze --format=sarif-latest -o results/java-sec.sarif databases/java-sec java-security-extended.qls

sarif文件查看:

借助vscode的插件

插件地址:

Sarif Viewer - Visual Studio MarketplaceExtension for Visual Studio Code - Adds support for viewing SARIF logshttps://marketplace.visualstudio.com/items?itemName=MS-SarifVSCode.sarif-viewer

code官网关于输出sarif文件的介绍

SARIF output — CodeQLhttps://codeql.github.com/docs/codeql-cli/sarif-output/#sarif-outputvscode下载好插件后,

资管管理器--打开的编译器文件中--右键--命令面板--

 命令:sarif.showPanel

然后打开生成的文件

 然后将这个sarif对应的源码包添加到对应的工作区,之后点击对应扫描出来的问题就可以跳转到对应的源码文件以及对应的行

CodeQL CLI入门 - 我是面包 - 博客园CodeQL CLI — CodeQL (github.com) 创建CodeQL数据库 https://codeql.github.com/docs/codeql-cli/creating-codehttps://www.cnblogs.com/macter/p/16192020.html

01.codeql入门 · d4m1ts 知识库https://blog.gm7.org/%E4%B8%AA%E4%BA%BA%E7%9F%A5%E8%AF%86%E5%BA%93/02.%E4%BB%A3%E7%A0%81%E5%AE%A1%E8%AE%A1/03.codeql/01.codeql%E5%85%A5%E9%97%A8.htmlCodeQL基础语法 | Zeo's Security Lab基础QL语法CodeQL的查询语法有点像SQL,如果你学过基本的SQL语句,基本模式应该不会陌生。 结构 12345import java // 导入使用的库from int i /* ... 变量声明... */where i = 100 /* ... 逻辑公式 ... */select i /* ... 表达式 ... */ import java,导入使用的库,因为我们分析的项目是jahttps://zeo.cool/2022/04/22/CodeQL%E5%9F%BA%E7%A1%80%E8%AF%AD%E6%B3%95/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值