Skip to content

nn0nkey/AI-API-Fuzzer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 

Repository files navigation

AI-API-Fuzzer

基于 AI 大模型的智能 API 接口发现与安全测试工具

📖 项目简介

AI-API-Fuzzer 是一个创新的 API 安全测试工具,利用大语言模型(LLM)的推理能力,自动发现目标系统中可能存在但未公开的 API 接口。与传统的暴力枚举不同,本工具通过智能分析已知 API 的模式和业务逻辑,推测出潜在的隐藏接口,大大提高了测试效率和准确性。

🎯 项目现状

本项目目前处于概念验证阶段,基于创新思路完成了核心功能的实现。虽然已经可以正常使用,但仍有很多优化空间:

📌 未来改进方向:

  • 模型专项训练:针对 API 安全测试场景进行模型微调,目前面临的主要挑战是高质量训练数据集的构建
  • 工具链整合:计划接入现有成熟工具(如 JS 文件接口提取工具),将其分析结果作为本工具的输入源,形成完整的测试工作流
  • burp插件:将能力化作burp插件,易于使用

💡 本项目源于个人对 AI + 安全测试的兴趣探索,欢迎社区反馈和贡献!

🎬 使用示例

用户管理系统测试

1. 本地搭建测试环境

测试环境

2. 在 Dify 中配置输入参数

配置参数

3. 运行工作流并查看结果

运行结果

✨ 核心特性

  • 🧠 AI 智能推测:基于 Qwen 大模型,智能分析业务逻辑,推测未公开 API
  • 🎯 精准分类:区分高置信度推测和探索性推测,提供分层测试策略
  • 🚀 自动化测试:自动发送请求并收集响应,无需手动操作
  • 📊 智能识别:通过状态码和响应体分析,准确判断 API 是否真实存在
  • 🔍 多维推理:覆盖管理后台、调试接口、版本兼容、第三方集成等多个维度

🔧 技术架构

工作流程

[输入参数] → [AI推测API] → [自动请求测试] → [AI识别分析] → [输出结果]

1️⃣ 开始节点 - 输入参数

接收三个关键输入:

  • target_url: 目标系统的基础 URL(如 http://api.example.com
  • api_list: 已知的 API 接口列表(支持长文本/文件上传)
  • context: 目标应用的业务描述(用于业务逻辑推理)

2️⃣ AI 推测节点

  • 模型: Qwen/Qwen3-32B (通过 SiliconFlow 插件调用)
  • 推理策略:
    • 高置信度 (high_confidence): 严格基于已知 API 的资源名称和路径风格推测
    • 探索性 (exploratory): 允许合理的泛化和业务联想
  • 推理维度:
    • 功能逻辑延伸(CRUD、登录注销等)
    • 管理后台接口(/admin, /manage, /system
    • 调试与开发接口(/debug, /test, /health
    • 版本兼容接口(/v1, /v2, /legacy
    • 第三方集成接口(/webhook, /callback, /oauth
    • 特殊业务接口(订单、消息、上传、统计)
    • 内部控制接口(/internal, /private
    • 非 RESTful 风格(.do, .action, .json

4️⃣ AI 识别节点

  • 模型: Qwen/Qwen3-32B
  • 分析维度:
    • 状态码分析:
      • ✅ 已发现: 200/201/204, 401/403/405, 400/422
      • ❌ 未发现: 404, 301/302
      • ⚠️ 模糊: 500/502/503
    • 响应体分析:
      • 结构化数据信号(JSON/XML)
      • 关键词匹配(unauthorized, token, permission denied 等)
  • 输出: JSON 格式的判定结果,包含路径、状态码、结论和原因

5️⃣ 结束节点

输出最终的分析报告

🚀 使用方法

在 Dify 中使用

  1. 导入工作流

    • 在 Dify 工作空间中,选择「导入 DSL」
    • 上传 Autoapi.yml 文件
  2. 配置插件

    • 确保已安装 SiliconFlow 插件(版本 0.0.29)
    • 配置 API Key 和模型访问权限
  3. 运行工作流

    • 填写三个必需参数:
      target_url: http://your-target-api.com
      api_list: /user/login
                /user/profile
                /order/list
      context: 这是一个电商平台,包含用户管理、订单管理、商品管理等功能
      
    • 点击「运行」开始测试
  4. 查看结果

    • 工作流将输出发现的 API 列表
    • 每个 API 包含:路径、状态码、判定结论、判定原因

📊 推理逻辑示例

高置信度推测

已知 API: /username/list

✅ /username/create    # 资源名一致
✅ /username/update    # 资源名一致
✅ /username/delete    # 资源名一致
✅ /admin/username/list # 资源名一致,增加管理前缀

探索性推测

已知 API: /username/list

✅ /user/profile       # 泛化: username → user
✅ /users/search       # 泛化: username → users
✅ /roles/list         # 联想: 用户系统关联权限系统
✅ /permissions/check  # 联想: 权限验证

🤝 贡献指南

欢迎提交 Issue 和 Pull Request!

📄 许可证

本项目采用 MIT 许可证。

🙏 致谢

  • Dify - 优秀的 LLM 应用开发平台
  • SiliconFlow - 提供高质量的模型 API 服务
  • Qwen - 强大的开源大语言模型

Built with AI, for Security

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors