Model Context Provider (MCP) for Penetration Testing

Model Context Provider (MCP) for Penetration Testing

用于渗透测试的 MCP 服务器。 欢迎贡献者!

allsmog

研究与数据
访问服务器

README

渗透测试模型上下文提供器 (MCP)

<div align="center"> <img src="docs/images/mcp-logo.png" alt="MCP Logo" width="300" /> <br> <em>用于渗透测试的人工智能驱动的助手和中间件</em> <br><br>

License: MIT Python 3.8+ Docker Status: WIP </div>

⚠️ 正在开发中 - 欢迎贡献者!

MCP 目前正在积极开发中,处于 alpha 阶段。 我们正在寻找贡献者来帮助构建这个令人兴奋的项目! 无论您对以下方面感兴趣:

  • 实现新的工具集成
  • 提高 AI 助手的能力
  • 增强 UI/UX
  • 编写文档
  • 测试系统

我们欢迎您的贡献! 请参阅 CONTRIBUTING.md 了解如何开始。

🔍 概述

模型上下文提供器 (MCP) 是一个开源框架,它将 AI 与渗透测试工具连接起来。 MCP 与各种渗透测试工具交互,实时解析和丰富它们的输出,并严格遵循标准的渗透测试流程。 它指导人工渗透测试人员完成每个阶段——从侦察和扫描到漏洞利用、后渗透和报告——与既定的方法论保持一致。

⚠️ 免责声明:此工具旨在用于经过适当授权的合法安全测试。 滥用此软件未经授权访问系统是非法的且不道德的。

✨ 主要特性

  • 方法论执行:确保每个参与过程都按照正确的阶段进行(侦察 → 扫描 → 漏洞利用 → 后渗透 → 报告)。
  • 实时上下文聚合:捕获工具输出,将数据规范化为统一的参与上下文,并存储以供分析。
  • LLM 驱动的洞察:利用大型语言模型来解释发现结果,并在参与过程中提供指导。
  • 无缝工具集成:充当中间件层,连接到主要的渗透测试工具,将其结果转换为通用事件格式。
  • 安全数据处理:对处理的数据强制执行严格的安全性,包括与 LLM 交互时的清理。
  • 报告和知识保留:以结构化格式记录所有发现和操作,以生成报告。

🏗️ 架构

MCP 构建在基于微服务、事件驱动的系统中,部署在容器化环境中:

  • 核心上下文处理引擎:聚合和规范化来自所有工具的数据的中央大脑
  • AI 驱动的攻击路径分析器:识别潜在的攻击路径并确定目标的优先级
  • 基于插件的集成框架:用于与外部工具交互的可扩展系统
  • 安全日志记录和报告模块:维护参与日志并生成报告
  • 实时 LLM 查询界面:提供用于查询发现结果的自然语言界面
  • 基于角色的访问控制:在所有操作中强制执行安全性

🧰 集成工具

MCP 目前与以下工具集成:

网络扫描和枚举

  • Nmap: 网络发现和安全审计
  • Masscan: 高速端口扫描器

Web 枚举

  • Gobuster: 目录和文件暴力破解
  • Nikto: Web 服务器漏洞扫描器

漏洞利用和后渗透

密码攻击

权限提升

  • LinPEAS: Linux 权限提升枚举脚本

🚀 快速开始

前提条件

  • Docker 和 Docker Compose
  • Python 3.8+
  • 与目标环境的网络连接
  • 渗透测试的适当授权和范围定义

安装

  1. 克隆此存储库:
git clone https://github.com/allsmog/mcp-pentest.git
cd mcp-pentest
  1. 构建 Docker 容器:
docker-compose build
  1. 启动 MCP 服务:
docker-compose up -d

基本用法

  1. 创建新的渗透测试参与过程:
curl -X POST http://localhost:8000/api/engagements -H "Content-Type: application/json" -d '{"name": "Example Corp Assessment", "scope": {"ip_ranges": ["192.168.1.0/24"], "domains": ["example.com"]}}'
  1. 启动侦察扫描:
curl -X POST http://localhost:8000/api/tasks -H "Content-Type: application/json" -d '{"engagement_id": "YOUR_ENGAGEMENT_ID", "tool": "theHarvester", "parameters": {"target": "example.com"}}'
  1. 查询 AI 助手:
curl -X POST http://localhost:8000/api/query -H "Content-Type: application/json" -d '{"engagement_id": "YOUR_ENGAGEMENT_ID", "query": "What are the most promising attack vectors based on our current findings?"}'

请参阅我们的文档以获取完整的 API 参考和示例。

📋 项目路线图

以下是我们目前正在努力的方向:

  • [ ] 完成核心上下文引擎的实现
  • [ ] 完成初始工具集成
  • [ ] 构建 AI 驱动的攻击路径分析器
  • [ ] 开发 Web UI
  • [ ] 创建全面的测试套件
  • [ ] 添加其他工具集成
  • [ ] 实现报告生成

我们欢迎对这些领域的任何贡献!

🤝 贡献

欢迎并感谢您的贡献! 请参阅 CONTRIBUTING.md 获取指南。

您如何提供帮助

我们特别希望在以下方面获得帮助:

  1. 工具集成:添加对更多安全工具的支持
  2. 测试:真实世界的测试和错误报告
  3. 文档:改进和扩展指南
  4. UI 开发:构建 Web 界面
  5. AI 组件:增强 LLM 集成和攻击路径分析

添加新的工具集成

我们特别欢迎对新的工具集成做出贡献。 请参阅我们的工具集成指南 了解如何添加对其他工具的支持。

💬 社区

  • 问题:使用 GitHub 问题进行错误报告和功能请求
  • 讨论:GitHub 讨论用于一般问题和想法

📜 许可证

本项目根据 MIT 许可证获得许可 - 有关详细信息,请参阅 LICENSE 文件。

🔐 安全注意事项

鉴于此工具的性质,请特别注意安全:

  • 切勿提交凭据、API 密钥或敏感信息
  • 始终遵循负责任的披露实践
  • 在测试任何系统之前,请确保获得适当的授权

📚 文档

🙏 致谢

  • 感谢本项目所构建的所有开源渗透测试工具
  • 特别感谢启发这项工作的安全研究人员和工具开发人员

推荐服务器

Crypto Price & Market Analysis MCP Server

Crypto Price & Market Analysis MCP Server

一个模型上下文协议 (MCP) 服务器,它使用 CoinCap API 提供全面的加密货币分析。该服务器通过一个易于使用的界面提供实时价格数据、市场分析和历史趋势。 (Alternative, slightly more formal and technical translation): 一个模型上下文协议 (MCP) 服务器,利用 CoinCap API 提供全面的加密货币分析服务。该服务器通过用户友好的界面,提供实时价格数据、市场分析以及历史趋势数据。

精选
TypeScript
MCP PubMed Search

MCP PubMed Search

用于搜索 PubMed 的服务器(PubMed 是一个免费的在线数据库,用户可以在其中搜索生物医学和生命科学文献)。 我是在 MCP 发布当天创建的,但当时正在度假。 我看到有人在您的数据库中发布了类似的服务器,但还是决定发布我的服务器。

精选
Python
mixpanel

mixpanel

连接到您的 Mixpanel 数据。 从 Mixpanel 分析查询事件、留存和漏斗数据。

精选
TypeScript
Sequential Thinking MCP Server

Sequential Thinking MCP Server

这个服务器通过将复杂问题分解为顺序步骤来促进结构化的问题解决,支持修订,并通过完整的 MCP 集成来实现多条解决方案路径。

精选
Python
Nefino MCP Server

Nefino MCP Server

为大型语言模型提供访问德国可再生能源项目新闻和信息的能力,允许按地点、主题(太阳能、风能、氢能)和日期范围进行筛选。

官方
Python
Vectorize

Vectorize

将 MCP 服务器向量化以实现高级检索、私有深度研究、Anything-to-Markdown 文件提取和文本分块。

官方
JavaScript
Mathematica Documentation MCP server

Mathematica Documentation MCP server

一个服务器,通过 FastMCP 提供对 Mathematica 文档的访问,使用户能够从 Wolfram Mathematica 检索函数文档和列出软件包符号。

本地
Python
kb-mcp-server

kb-mcp-server

一个 MCP 服务器,旨在实现便携性、本地化、简易性和便利性,以支持对 txtai “all in one” 嵌入数据库进行基于语义/图的检索。任何 tar.gz 格式的 txtai 嵌入数据库都可以被加载。

本地
Python
Research MCP Server

Research MCP Server

这个服务器用作 MCP 服务器,与 Notion 交互以检索和创建调查数据,并与 Claude Desktop Client 集成以进行和审查调查。

本地
Python
Cryo MCP Server

Cryo MCP Server

一个API服务器,实现了模型补全协议(MCP),用于Cryo区块链数据提取,允许用户通过任何兼容MCP的客户端查询以太坊区块链数据。

本地
Python