MCP安全测试环境

用于教育目的的MCP安全测试环境,包含MCP服务器、PostgreSQL数据库和MCP Inspector工具。

  • by hkhrais
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 hkhrais/hacking-mcp-and-ai-apps

使用说明

破解MCP和AI应用程序

出于教育目的故意攻击MCP服务器。这个实验室环境伴随着Udemy的MCP安全课程。

第二节实验室设置

先决条件

  • Docker桌面
  • Node.js(用于MCP检查器)
  • LM工作室(用于快速注射实验室)

第一步:安装Docker

从下载Docker桌面https://www.docker.com/products/docker-desktop

验证安装:

docker --version

步骤2:克隆存储库

git clone https://github.com/user/hacking-mcp-and-ai-apps.git
cd hacking-mcp-and-ai-apps

步骤3:启动实验室环境

docker compose up --build

这将开始:

  • 端口8080上的MCP服务器
  • PostgreSQL数据库
  • 端口5000上的后端API

要停止和重置:

docker compose down -v

步骤4:安装Node.js(MCP检查器需要)

雨衣:

brew install node

窗户: 下载自https://nodejs.org/

Linux:

sudo apt install nodejs npm

步骤5:运行MCP检查器

MCP Inspector是一个工具,可以让你直接与MCP服务器交互,而不需要人工智能模型。

要启动MCP Inspector并连接到我们的实验室MCP服务器:

npx @modelcontextprotocol/inspector http http://localhost:8080

这将在浏览器中打开MCP检查器UI。

使用传输类型:流式HTTP

网址:http://localhost:8080

连接类型:直接

步骤6:安装LM Studio(用于快速注射实验室)

LM Studio允许您在计算机上本地运行AI模型。 我们将把它用于快速注射实验室。

  • 下载自https://lmstudio.ai/
  • 安装并下载模型(推荐:Llama 3.1 8B说明书)
  • 转到“开发人员”选项卡并启用“本地服务器”

验证:

curl http://localhost:1234/v1/models

有用的命令

# Start lab
docker compose up

# Stop and reset
docker compose down -v

# MCP Inspector
npx @modelcontextprotocol/inspector http http://localhost:8080

# Access MCP server shell
docker exec -it mcp_server /bin/bash

# Access PostgreSQL
docker exec -it mcp_postgres psql postgresql://mcp_user:mcp_password_123@localhost:5432/mcp_security_db

# Once connected to PostgreSQL, useful commands:
\l - list all databases
\c mcp_security_db        : connect to our database
\dt - list all tables
SELECT * FROM customers;  : view customer data
SELECT * FROM orders;     : view order data


故障排除

  • Docker启动失败: 确保Docker Desktop正在运行,并且端口8080/5000是空闲的
  • MCP检查器无法连接: 验证MCP服务器是否正在运行 docker ps
  • LM Studio运行缓慢: 使用较小的型号(7B-8B参数)