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
}

快速使用

  1. 创建会话:在会话列表页面点击"新建会话",输入目标 IP 或域名
  2. 启动 AutoPilot:进入会话详情,点击"启动 AutoPilot"开始自动化渗透测试
  3. AI 对话:在 AI 对话面板直接与 AI 对话,下达指令或获取分析
  4. 工具执行:在对话框中让 AI 自动调用 nmap、sqlmap 等工具
  5. 生成报告:测试完成后,点击"生成报告"获取完整的渗透测试报告(目前仅支持 MD 和 HTML 格式,后续可继续优化报告样式与内容)

六、界面展示

仪表盘

仪表盘

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

会话列表

会话列表

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

会话详情

在这里插入图片描述
在这里插入图片描述在这里插入图片描述

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

工具列表

工具列表

  • 40+ 工具分类展示
  • 工具状态实时显示
  • 支持手动执行工具
  • 工具详情查看

系统设置

系统设置

  • LLM 模型配置
  • AutoPilot 参数调整
  • MCP 服务器管理
  • 安全防护配置
  • 系统日志查看(目前是空壳,考虑要不要删除中,毕竟会话里面实时日志能看到)

七、安全声明

⚠️ 重要提示:本工具仅用于授权的安全测试和教育目的。使用者应遵守当地法律法规,对使用本工具产生的后果自行承担责任。

八、未来规划

  • 集成更多渗透测试工具
  • 支持插件系统,方便扩展自定义工具
  • 增加更多报告模板(Word、PDF 等)
  • 优化 AutoPilot 算法,提高自动化成功率
  • 支持分布式部署,多节点并行扫描
    (更多的靠你们的想法,让我们一起完善PengStrike!)

九、贡献指南

欢迎贡献代码、提交 Issue 或改进建议!

开发流程

  1. Fork 本仓库
  2. 创建功能分支 (git checkout -b feature/amazing-feature)
  3. 提交更改 (git commit -m 'Add amazing feature')
  4. 推送分支 (git push origin feature/amazing-feature)
  5. 提交 Pull Request

提交 Issue

如果你发现了 bug,或者有新功能建议,欢迎在 GitHub 提交 Issue:
https://github.com/hdfaisuaj/PengStrike/issues


项目地址:https://github.com/hdfaisuaj/PengStrike

觉得有用的话,点个 Star ⭐ 支持一下吧!

Logo

欢迎加入 MCP 技术社区!与志同道合者携手前行,一同解锁 MCP 技术的无限可能!

更多推荐