一款针对JAVA Web应用程序的AI代码审计工具
1.先获取项目目录下的Readme文件
2.将Readme文件内容发送给大模型,让大模型对文件内容进行总结
3.通过codeql获取项目中的对外接口、端点
4.将对外端点源码发送给大模型,让大模型进行代码审计
5.根据大模型返回的内容,提取大模型申请的上下文信息
6.根据上下文信息寻找对应类、函数源码,并发送给大模型,进行下一步的源码分析
7.循环5、6步,直到得到最终审计结果
1.配置项目地址、项目Codeql数据库地址、ql规则地址以及需要使用的大模型
2.在项目环境变量中配置对应大模型的APIKey
3.运行项目即可
其他说明:
- 项目地址下的log文件夹,输出的是程序运行过程的输出结果。x-vuln-debug-xxxx是运行过程中的所有输出、x-vuln-result输出的是所有审计结果
- 我所使用的ql文件为src/main/resources/ql/source/commonSource.ql,需要注意,这个文件需要放在codeql的规则目录下,不然无法执行查询
- 目前GPT可以比较正常的进行审计,claude和通义千问存在响应问题
- 输出的日志目录最好改一下,在Logger类中