hXR16F/PocketRecon-AI
GitHub: hXR16F/PocketRecon-AI
一个轻量级 MCP 服务器,使大型语言模型能够在对话界面中直接调用 Nmap 等工具执行网络安全侦察任务。
Stars: 0 | Forks: 0
# 📡 PocketRecon-AI
用于本地 AI 驱动的网络安全侦察的轻量级 MCP 服务器
## 概述 **PocketRecon-AI** 是一个 **Model Context Protocol (MCP) 服务器**,使大型语言模型 (LLM) 能够直接在对话界面中执行网络安全侦察任务。专为 **Raspberry Pi** 和本地 PC 等**低功耗设备**打造。PocketRecon-AI 将 AI 代理与强大的安全工具连接起来,包括 **Nmap, Netcat, WhatWeb, Curl** 等。 该系统采用**双层架构**:一个 MCP 服务器与你的 LLM(LM Studio, VS Code, Cursor 等)通信,以及一个基于 Flask 的后端 API 执行实际的系统命令。 PocketRecon-AI 是**跨平台**的,可以在 **Linux 和 Windows** 环境中运行。 ## 功能 ### 网络侦察 - **ICMP Ping** – 具有可配置数据包计数的可达性测试 - **Traceroute** – 到目标地址的网络路径分析 - **Nmap 扫描** – 端口扫描、OS 检测、NSE 脚本执行等 - **Netcat** – TCP 连接性测试和原始 socket 交互 ### Web 分析 - **目录暴力破解** – 使用 [dirb 字典](https://salsa.debian.org/pkg-security-team/dirb/-/blob/debian/master/wordlists/common.txt?ref_type=heads)进行 Web 目录枚举 - **技术指纹识别** – CMS 和框架检测 - **HTTP 安全审计** – 头部分析(HSTS, CSP 等) - **Web 内容提取** – 从网页中提取结构化数据 ### 情报收集 - **WHOIS 查询** – 域名注册数据检索 - **DNS 枚举** – 子域名发现和记录分析 - **CVE 查询** – 通过 NVD 进行被动漏洞搜索 - **IP 信誉** – 集成 AbuseIPDB 获取威胁情报 - **Web 搜索** – 轻量级 DuckDuckGo 搜索 ### LLM 集成 - **MCP 服务器** – 原生 Model Context Protocol 支持 - **兼容**:LM Studio, VS Code, Cursor, Ollama 以及任何兼容 MCP 的客户端 - 通过对话界面实现**自动化安全工作流** ## 技术对比 AI 驱动的网络安全侦察平台、自主渗透测试助手以及基于 MCP 的攻击性安全工具的对比。 | 功能 | [**PocketRecon-AI**](https://github.com/hXR16F/PocketRecon-AI) | [**mcp-kali-server**](https://www.kali.org/tools/mcp-kali-server/) | [**PentAGI**](https://pentagi.com/) | [**HexStrike-AI**](https://www.hexstrike.com/) | |---------|--------------------|---------------------|-------------|------------------| | **资源占用** | 🟢 极其轻量 | 🟡 中等 | 🔴 非常庞大 | 🟡 中等 | | **安全性** | 🟢 抽象的基于 wrapper 的执行 | 🔴 直接执行 shell 命令 | 🟢 容器化沙箱执行 | 🔴 直接执行 shell 命令 | | **依赖项** | 🟢 Python + Nmap | 🟡 Kali Linux 环境 | 🔴 20+ GB 技术栈 + API 密钥 | 🟠 150+ 外部工具 | | **配置复杂度** | 🟢 极简 | 🟡 中等 | 🔴 高 | 🟡 中等 | | **系统要求** | 🟢 极低配置可运行 | 🟡 低端 PC | 🔴 推荐 4+ GB RAM | 🟡 低端 PC | | **功能范围** | 🟡 侦察与扫描 | 🟢 完整的 Kali 生态系统 | 🟢 自主渗透测试框架 | 🟢 广泛的攻击性工具 | ## 架构 PocketRecon-AI 采用**双组件架构**,将 LLM 接口与命令执行分离开来: | 组件 | 角色 | 文件 | |-----------|------|------| | **MCP 服务器 (客户端)** | 兼容 MCP 的服务器,与 LLM 通信 | `pocket_recon_mcp.py` | | **后端 API (服务器)** | 执行命令的 Flask 服务器 | `pocket_recon_server.py` | **MCP 服务器 (客户端)** 向你的 LLM 暴露工具,并将请求转发到**后端 API (服务器)**,由后者在你的系统上运行实际的安全工具。 ## 安装与配置 ### 前置条件 - **Python 3.10+** - **Docker**(可选,用于容器化部署) - **系统工具**(必须安装在后端 API 服务器上): - `curl` - `ping` - `traceroute` - `netcat` - `nmap` ### 选项 1:本地安装(推荐用于 Raspberry Pi) #### 步骤 1:克隆仓库 ``` git clone https://github.com/hXR16F/PocketRecon-AI cd PocketRecon-AI ``` #### 步骤 2:创建虚拟环境 ``` python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate ``` #### 步骤 3:安装依赖 ``` pip install -r requirements.txt sudo apt install nmap # On Windows: install from https://nmap.org/download#windows ``` #### 步骤 4:运行后端 API 服务器 ``` python pocket_recon_server.py --host 0.0.0.0 --port 5005 ``` ### 选项 2:Docker 部署 #### 构建 Image ``` docker build -t pocket-recon . ``` #### 运行 Container ``` docker run -d \ --name pocket-recon \ -p 5005:5005 \ --cap-add=NET_ADMIN \ --cap-add=NET_RAW \ pocket-recon ``` ## 连接到你的 LLM ### [LM Studio](https://lmstudio.ai/) 1. 打开 LM Studio 并编辑 `mcp.json`。 2. 按如下方式进行配置: ``` { "mcpServers": { "PocketRecon-AI": { "command": "python", "args": [ "/path/to/pocket_recon_mcp.py", "--server", "http://localhost:5005" ], "timeout": 900000 } } } ``` ## 可用工具 所有工具都通过 MCP 协议暴露给你的 LLM,并映射到后端 API 端点: | 工具 | 描述 | 参数 | API Endpoint | |------|-------------|------------|--------------| | `ping` | 用于可达性测试的 ICMP echo 请求 | `target`, `count` | `POST /api/ping` | | `nmap` | 网络扫描(端口、OS 检测、NSE 脚本等) | `target`, `ports`, `scan_type`, `scripts`, `os_detection`, `service_detection`, `script_scan`, `script_args`, `top_ports_count`, `timing`, `extra_args` | `POST /api/nmap` | | `netcat` | TCP 连接性和原始 socket 交互 | `target`, `port`, `data` | `POST /api/netcat` | | `traceroute` | 跟踪到目标地址的网络路由 | `target` | `POST /api/traceroute` | | `whois` | 获取域名注册数据 | `domain` | `POST /api/whois` | | `curl` | 使用 curl 执行可定制的 HTTP 请求 | `url`, `method`, `data`, `json_body`, `headers`, `query_params`, `cookies`, `follow_redirects`, `timeout`, `connect_timeout`, `verbose`, `extra_args` | `POST /api/curl` | | `dirbuster` | Web 目录暴力枚举 | `target` | `POST /api/dirbuster` | | `http_request` | 具有重定向控制的高级 HTTP 交互 | `method`, `url`, `headers`, `params`, `data`, `json`, `follow_redirects`, `max_redirects` | `POST /api/http_request` | | `whatweb` | 技术指纹识别(CMS、框架) | `target` | `POST /api/whatweb` | | `dns_enum` | DNS 记录分析和子域名发现 | `domain` | `POST /api/dns_enum` | | `header_security_audit` | 安全头部审计(HSTS、CSP 等) | `url`, `method` | `POST /api/header_security_audit` | | `cve_lookup` | 通过 NVD 关键字搜索进行被动 CVE 查询 | `product`, `version` | `POST /api/cve_lookup` | | `abuseipdb_checker` | 使用 AbuseIPDB 检查 IP 信誉 | `ip` | `POST /api/abuseipdb_checker` | | `visit_website` | 从网页提取结构化内容 | `url`, `max_links`, `content_limit`, `timeout` | `POST /api/visit_website` | | `web_search` | 使用 DuckDuckGo 进行轻量级 Web 搜索 | `query`, `limit` | `POST /api/web_search` | ## 安全最佳实践 1. **网络隔离**:在隔离的网络段中运行 PocketRecon-AI 2. **访问控制**:将后端 API 限制为 localhost 或受信任的 IP 3. **日志记录**:为所有工具执行启用审计日志 4. **更新**:定期更新系统工具(Nmap 等) ## 安全与道德警告 - **未经授权的扫描**:请勿使用此工具扫描你不拥有或没有明确书面测试许可的网络、系统或域名。 - **法律合规**:确保所有使用行为均符合当地法律和道德准则。 *Built with 💙*标签:CTI, MCP服务, Nmap, Python, 插件系统, 无后门, 网络安全, 虚拟驱动器, 请求拦截, 逆向工具, 隐私保护