内容
# 黑客MCP和AI应用程序
故意暴露漏洞的MCP服务器,用于教育目的。此实验室环境配合Udemy关于MCP安全的课程使用。
## 第二节 实验室设置
### 先决条件
- Docker Desktop
- Node.js(用于MCP Inspector)
- LM Studio(用于Prompt Injection实验室)
### 步骤 1:安装 Docker
从 https://www.docker.com/products/docker-desktop 下载Docker Desktop
验证安装:
```bash
docker --version
```
### 步骤 2:克隆仓库
```bash
git clone https://github.com/user/hacking-mcp-and-ai-apps.git
cd hacking-mcp-and-ai-apps
```
### 步骤 3:启动实验室环境
```bash
docker compose up --build
```
这将启动:
- 端口8080上的MCP服务器
- PostgreSQL数据库
- 端口5000上的后端API
要停止并重置:
```bash
docker compose down -v
```
### 步骤 4:安装 Node.js(MCP Inspector 需要)
**Mac:**
```bash
brew install node
```
**Windows:** 从 https://nodejs.org/ 下载
**Linux:**
```bash
sudo apt install nodejs npm
```
### 步骤 5:运行 MCP Inspector
MCP Inspector是一种工具,允许您直接与MCP服务器交互,无需AI模型。
启动MCP Inspector并连接到我们的实验室MCP服务器:
```bash
npx @modelcontextprotocol/inspector http http://localhost:8080
```
这将在浏览器中打开MCP Inspector UI。
使用传输类型:可流式HTTP
网址:http://localhost:8080
连接类型:直接
### 步骤 6:安装 LM Studio(用于Prompt Injection实验室)
LM Studio允许您在本地机器上运行AI模型。
我们将使用它来进行Prompt Injection实验室。
- 从 https://lmstudio.ai/ 下载
- 安装并下载一个模型(推荐:Llama 3.1 8B Instruct)
- 进入开发者选项卡并启用“本地服务器”
验证:
```bash
curl http://localhost:1234/v1/models
```
---
## 有用的命令
```bash
# 启动实验室
docker compose up
# 停止并重置
docker compose down -v
# MCP Inspector
npx @modelcontextprotocol/inspector http http://localhost:8080
# 访问MCP服务器shell
docker exec -it mcp_server /bin/bash
# 访问PostgreSQL
docker exec -it mcp_postgres psql postgresql://mcp_user:mcp_password_123@localhost:5432/mcp_security_db
# 连接到PostgreSQL后,有用的命令:
\l - 列出所有数据库
\c mcp_security_db :连接到我们的数据库
\dt - 列出所有表
SELECT * FROM customers; :查看客户数据
SELECT * FROM orders; :查看订单数据
```
---
## 故障排除
- **Docker无法启动:** 确保Docker Desktop正在运行,端口8080/5000是空闲的
- **MCP Inspector无法连接:** 使用`docker ps`验证MCP服务器是否正在运行
- **LM Studio速度慢:** 使用较小的模型(7B-8B参数)