产品定位:
智能渗透测试系统是一款基于大语言模型的自动化安全测试工具,帮助用户快速发现目标系统的安全漏洞。
核心功能:
1. AI智能探测 :用户输入目标地址(IP或域名),系统自动规划并执行渗透测试流程,无需手动编写命令
2. 实时交互 :类似聊天的Web界面,实时显示AI决策过程、命令执行结果和任务进度
3. 多LLM支持 :支持OpenAI、阿里千问、DeepSeek、豆包、智谱等主流AI模型,灵活切换
4. 人机协作 :支持AI自主模式和人工干预模式,用户可中途介入控制测试方向
5. 自动报告 :测试完成后自动生成HTML格式报告,包含漏洞详情和修复建议
6. 对话管理 :支持多会话管理、上下文记忆和历史记录保存
# 项目实现介绍
## 一、技术架构
本项目采用 FastAPI 作为后端框架,搭配 Uvicorn 异步服务器实现高性能 Web 服务。前端使用原生 HTML 结合 TailwindCSS 构建简洁的响应式界面,通过 WebSocket 实现服务器向浏览器的实时推送,让用户能实时看到 AI 决策过程和命令执行结果。
## 二、核心模块
**工作流引擎**负责协调整个渗透测试流程:创建任务、管理生命周期、控制迭代循环。系统最多执行50轮迭代,每轮先调用 LLM 决定下一步动作,再执行相应终端命令,最后更新上下文状态。内置任务锁防止重复执行,设置取消检查点支持中途终止。
**LLM 决策引擎**封装了多 LLM 提供商调用(OpenAI、阿里千问、DeepSeek、豆包、智谱),通过 AsyncOpenAI 客户端实现流式输出。构建提示词时将用户任务、历史命令、历史输出全部传给 AI,让它能基于完整上下文做出合理决策。
**终端工具**实现跨平台命令执行:Windows 使用 cmd.exe,通过临时文件分离标准输出和错误输出;Linux 使用 bash 配合 PTY 伪终端。支持同步和流式两种执行模式,内置超时控制和命令语法自动修正功能。
## 三、数据管理
对话和任务数据以 JSON 文件格式存储在本地,便于查看和调试。LLM 调用日志完整记录每次请求和响应,方便排查问题。测试完成后自动生成 HTML 格式报告,包含漏洞摘要和修复建议。
## 四、特色功能
系统支持**混合模式**,由 AI 主导探索方向,同时代码层保留强制终止保护。**人机协作模式**允许 AI 完成初步侦查后暂停,等待用户决定下一步操作。命令执行时自动修正常见语法错误(如 curl 命令中的引号问题),提升执行成功率。