AI驱动下,打造的一款AI渗透测试辅助平台——PengStrike
AI驱动下,打造的一款AI渗透测试辅助平台——PengStrike
一、介绍
🚀 PengStrike AI 驱动的渗透测试辅助平台 — 将 LLM 大语言模型与 Kali Linux 专业工具相结合,实现智能化的渗透测试工作流。
PengStrike 是一个基于 AI 大语言模型(LLM)的渗透测试辅助平台,专为 Kali Linux 环境设计。它通过自然语言交互和自动化引擎,帮助安全测试人员更高效地完成信息收集、漏洞扫描、漏洞利用和报告生成等渗透测试全流程任务。
无论是新手还是资深渗透测试工程师,都可以通过 PengStrike 大幅提升工作效率:
- 新手:用自然语言描述需求,AI 自动选择工具并执行
- 老手:AutoPilot 自动渗透,解放双手专注于深度分析(不过目前该功能尚不完善,每次渗透测试的质量可能参差不齐)
- 团队:标准化的渗透测试流程,可复现的测试报告
此版本为 v0.1.0-alpha 测试版本,部分功能仅为展示或尚不完善,欢迎大家参与测试、发现bug,或提出想要的功能与想法,可以通过GitHub的Issue留言,或在CSDN进行评论和私信,我会尽力去完善添加,谢谢大家
界面预览
Web 界面

仪表盘主页面可查看系统状态是否正常、最近活动、工具数量等信息
二、更新日志
v0.1.0-alpha (2026-06-25)
- ✅ 首次发布测试版本
- ✅ 集成 40+ 专业渗透测试工具
- ✅ AutoPilot 自动渗透功能
- ✅ 多模型备份与自动切换
- ✅ 阶段化任务管理(5个阶段)
- ✅ 实时 WebSocket 通信
- ✅ 全中文交互界面
- ✅MCP 服务器支持(实验性功能,待后续完善)
- ✅ 多层安全防护机制
三、功能特性
✨ 核心功能
1. 智能对话交互
集成 OpenAI / Anthropic / Ollama 等多种 LLM,支持自然语言驱动的渗透测试,只需用中文描述你的需求,AI 会自动选择合适的工具并执行相应操作。
用户:帮我扫描一下 192.168.1.100 的开放端口
AI:好的,我将使用 nmap 进行端口扫描...
2. AutoPilot 一键启动,全自动渗透测试,AI 将自动执行:
- 初始化阶段:目标信息确认、环境检测
- 信息收集阶段:端口扫描、目录爆破、子域名枚举等
- 漏洞排序阶段:根据收集到的信息分析潜在漏洞
- 漏洞利用阶段:自动尝试利用发现的漏洞(利用阶段尚不完善,欢迎提出想法和建议)
- 报告生成阶段:自动生成渗透测试报告
3. 多模型备用策略,支持配置多个 LLM 模型。当主模型遇到限流(429)、请求错误(422)或超时等情况时,系统会自动切换到备用模型,从而确保渗透测试流程不中断。
4. 阶段化任务管理
将渗透测试分为 5 个清晰的阶段,每个阶段都有明确的目标和产出,便于跟踪进度和回溯。
5. 实时 WebSocket 通信
前后端通过 WebSocket 实时同步进度、日志和结果,命令执行过程实时展示,无需刷新页面。
6. 报告生成
测试完成后一键生成 HTML/JSON 格式的渗透测试报告,包含完整的测试过程、发现的漏洞及修复建议。
🛠️ 工具集成
内置 40+ 专业渗透测试工具覆盖渗透测试全流程:
侦察类(12个)
- nmap - 端口扫描
- masscan - 高速端口扫描
- gobuster - 目录/文件爆破
- ffuf - 快速 Web 模糊测试
- sublist3r - 子域名枚举
- theHarvester - 信息收集
- dnsrecon - DNS 枚举
- fierce - DNS 枚举工具
- amass - 子域名发现
- crt.sh - 证书透明度查询
- dig - DNS 查询
- whois - 域名信息查询
扫描类(6个)
- nikto - Web 漏洞扫描
- nuclei - 模板化漏洞扫描
- sqlmap - SQL 注入检测
- wpscan - WordPress 安全扫描
- xsstrike - XSS 检测
- nmappt - Nmap 脚本扫描
利用工具(3个)
- hydra - 密码暴力破解
- msfconsole - Metasploit 框架
- searchsploit - 漏洞数据库查询
提权类(5个)
- linpeas - Linux 提权枚举
- winpeas - Windows 提权枚举
- linenum - Linux 枚举脚本
- enum4linux - SMB/Windows 信息枚举
- suid3num - SUID 提权枚举
网络类(5个)
- crackmapexec - 内网/域渗透工具
- impacket - 网络协议工具集
- responder - LLMNR/NBT-NS 投毒工具
- evil-winrm - Windows 远程管理工具
- bloodhound - AD 攻击路径分析工具
实用工具(9个)
- curl - HTTP 客户端
- nc -网络工具瑞士军刀
- ping - 网络连通性测试
- netstat - 网络连接查看
- hashcat - 密码哈希破解
- john - 密码破解
- crunch - 字典生成
- cewl - 网页字典生成
- reaver - WPS 破解
🔧 技术特性
1. 前后端分离架构
- 后端:Python 3.9+ + FastAPI,高性能异步 API
- 前端:Vue 3 + Element Plus + Vite,现代化交互界面
- 数据库:SQLite,轻量级无需额外部署
2. MCP 协议,内置 MCP(Model Context Protocol)服务器,支持通过 SSE 端点与外部 AI 客户端集成,实现工具调用标准化。
3. 多层安全防护
- 命令白名单过滤:只允许执行预定义的安全命令
- 高危命令拦截:自动拦截 rm -rf / 等危险操作
- Tool Call 清洗器:清洗 AI 输出的恶意指令
- 异常行为检测:检测异常的命令执行模式
- 参数验证中间件:验证所有输入参数的合法性
- 安全链审查机制:多层审查确保命令安全
4. 断点续扫
支持中断后继续执行,不需要从头开始,节省时间。
5. 全中文支持
从界面到日志输出,适合国内安全从业者使用。
四、项目架构
架构概览
┌─────────────────────────────────────────────────────────┐
│ 前端 (Vue 3 + Element Plus) │
│ Dashboard │ SessionDetail │ ToolList │ ReportList ... │
└──────────────────────┬──────────────────────────────────┘
│ HTTP / WebSocket
┌──────────────────────▼──────────────────────────────────┐
│ API 层 (FastAPI) │
│ session_routes │ tool_routes │ config_routes │ ... │
└──────────────────────┬──────────────────────────────────┘
│
┌──────────────────────▼─────────────────────────────────│ 核心服务层 │ │
│ ┌─────────────┐ ┌──────────┐ ┌──────────────────┐ │
│ │ AutoPilot │ │ LLM │ │ Orchestrator │ │
│ │ Engine │ │ Client │ │ (任务编排) │ │
│ └─────────────┘ └──────────┘ └──────────────────┘ │
│ ┌─────────────┐ ┌──────────┐ ┌──────────────────┐ │
│ │ State │ │ Tool │ │ Report Generator │ │
│ │ Manager │ │ Executor │ │ (报告生成) │ │
│ └─────────────┘ └──────────┘ └──────────────────┘ │
└──────────────────────┬──────────────────────────────────┘
│
┌──────────────────────▼─────────────────────────────────│ 基础设施层 │ │
│ SQLite │ Config │ Middleware │ Security │ Plugins │
└─────────────────────────────────────────────────────────┘
目录结构
PengStrike/
├── api/ # API 路由(FastAPI)
│ ├── session_routes.py # 会话管理
│ ├── tool_routes.py # 工具接口
│ ├── websocket.py # WebSocket 通信
│ └── ...
├── core/ # 核心逻辑
│ ├── auto_pilot.py # AutoPilot 引擎
│ ├── llm_client.py # LLM 客户端
│ ├── state_manager.py # 状态管理
│ ├── orchestrator.py # 任务编排
│ └── ...
├── config/ # 配置管理
│ ├── settings.py # 配置中心
│ └── config.json # 主配置文件
├── frontend/ # 前端(Vue 3)
│ └── src/
│ ├── views/ # 页面组件
│ ├── components/ # 通用组件
│ └── utils/ # 工具函数
├── tools/ # 工具系统
│ ├── modules/ # 工具模块
│ │ ├── reconnaissance/ # 侦察
│ │ ├── scanner/ # 扫描器
│ │ ├── exploit/ # 利用
│ │ ├── privesc/ # 提权
│ │ └── ...
│ └── executor.py # 命令执行器
├── db/ # 数据库
├── middleware/ # 中间件
├── security/ # 安全模块
└── reports/ # 报告模板
五、快速开始
前置条件要求
- Kali Linux(推荐)或其他 Debian 系 Linux
- Python 3.9+
- Node.js 18+
- 有效的 LLM API Key(OpenAI / Anthropic / Ollama / DeepSeek 等)
安装(推荐直接下载源码压缩包,利用其中的 install.sh 进行一键安装)
# 1. 克隆项目
git clone https://github.com/hdfaisuaj/PengStrike.git
cd PengStrike
# 2. 配置 Python 虚拟环境
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
# 3. 安装前端依赖
cd frontend
npm install
cd ..
# 4. 配置 API Key
# 复制配置文件
cp config.example.json config.json
# 编辑 config.json,填写 LLM 配置
# 或通过环境变量设置(优先级更高):
export PENGSTRIKE_LLM_API_KEY="your-api-key-here"
export PENGSTRIKE_LLM_BASE_URL="https://your-llm-endpoint"
# 5. 启动服务
bash PengStrike-Web.sh
服务启动后,访问 http://127.0.0.1:5173 进入前端界面。
配置说明
config.json 主要配置
| 配置段 | 字段 | 说明 | 默认值 |
|---|---|---|---|
| llm | base_url | LLM API 地址 | https://openrouter.ai/api/v1 |
| llm | api_key | API 密钥 | “” |
| llm | model | 模型名称 | openrouter/free |
| system | command_timeout | 命令超时(秒) | 300 |
| system | log_level | 日志级别 | INFO |
| backend | port | 后端端口 | 8000 |
| backend | frontend_port | 前端端口 | 5173 |
多模型备份配置
在 config.json 的 multi_models 字段中配置多个备用模型,当主模型遇到限流或错误时可自动切换:
{
"multi_models": [
{ "model": "gpt-4", "base_url": "...", "api_key": "..." },
{ "model": "claude-3", "base_url": "...", "api_key": "..." }
],
"multi_model_auto_switch": true,
"multi_model_switch_429_count": 2,
"multi_model_switch_422_count": 1,
"multi_model_switch_timeout_count": 2
}
快速使用
- 创建会话:在会话列表页面点击"新建会话",输入目标 IP 或域名
- 启动 AutoPilot:进入会话详情,点击"启动 AutoPilot"开始自动化渗透测试
- AI 对话:在 AI 对话面板直接与 AI 对话,下达指令或获取分析
- 工具执行:在对话框中让 AI 自动调用 nmap、sqlmap 等工具
- 生成报告:测试完成后,点击"生成报告"获取完整的渗透测试报告(目前仅支持 MD 和 HTML 格式,后续可继续优化报告样式与内容)
六、界面展示
仪表盘

- 活跃会话统计
- 可用工具数量
- 最近活动记录,系统状态实时监控
会话列表

- 所有渗透测试会话一览
- 会话状态实时更新,一键创建新会话
会话详情



- 实时日志输出(黑色终端风格)
- AI 对话交互
- 阶段进度条展示AutoPilot 控制按钮
工具列表

- 40+ 工具分类展示
- 工具状态实时显示
- 支持手动执行工具
- 工具详情查看
系统设置

- LLM 模型配置
- AutoPilot 参数调整
- MCP 服务器管理
- 安全防护配置
- 系统日志查看(目前是空壳,考虑要不要删除中,毕竟会话里面实时日志能看到)
七、安全声明
⚠️ 重要提示:本工具仅用于授权的安全测试和教育目的。使用者应遵守当地法律法规,对使用本工具产生的后果自行承担责任。
八、未来规划
- 集成更多渗透测试工具
- 支持插件系统,方便扩展自定义工具
- 增加更多报告模板(Word、PDF 等)
- 优化 AutoPilot 算法,提高自动化成功率
- 支持分布式部署,多节点并行扫描
(更多的靠你们的想法,让我们一起完善PengStrike!)
九、贡献指南
欢迎贡献代码、提交 Issue 或改进建议!
开发流程
- Fork 本仓库
- 创建功能分支 (
git checkout -b feature/amazing-feature) - 提交更改 (
git commit -m 'Add amazing feature') - 推送分支 (
git push origin feature/amazing-feature) - 提交 Pull Request
提交 Issue
如果你发现了 bug,或者有新功能建议,欢迎在 GitHub 提交 Issue:
https://github.com/hdfaisuaj/PengStrike/issues
项目地址:https://github.com/hdfaisuaj/PengStrike
觉得有用的话,点个 Star ⭐ 支持一下吧!
更多推荐
所有评论(0)