FradleyJ/honeypot-mcp
GitHub: FradleyJ/honeypot-mcp
蜜罐威胁情报数据库查询工具
Stars: 0 | Forks: 0
# Honeypot MCP 服务器
一个小的 [模型上下文协议](https://modelcontextprotocol.io) 服务器,它
将我的实时蜜罐的威胁情报数据库暴露给 MCP 客户端
(Claude Desktop / Claude Code)作为 **只读** 工具——这样我就可以通过提问来调查
攻击者活动,而不是编写 SQL。
数据来自自托管的蜜罐堆栈(Cowrie SSH/Telnet + 一个自定义
HTTP 蜜罐),写入 PostgreSQL——目前 ~530k 攻击会话,~33k
登录尝试,以及数千个捕获的攻击者命令和文件暂存
事件。
## 工具
| 工具 | 返回内容 |
|------|-----------------|
| `honeypot_overview(days)` | 总计(会话、唯一 IP、登录、命令、文件事件)+ 按蜜罐/协议细分 |
| `top_attackers(days, limit)` | 最繁忙的源 IP 及其国家 + ASN 组织 |
| `top_credentials(days, limit)` | 最常尝试的用户名/密码对 |
| `recent_commands(days, limit)` | 登录后运行的命令(TTPs) |
| `attacks_by_country(days, limit)` | 按源国家分组的会话 |
| `malware_downloads(days, limit)` | 捕获的文件/恶意软件暂存(文件名、URL、sha256) |
| `lookup_ip(ip)` | 一个 IP 的完整配置文件:会话、地理/ASN、尝试的凭据、命令、封禁状态 |
## 安全性
- **构造上为只读。** 每个连接都会打开一个只读事务
并且每个查询都是 `SELECT`。没有工具会修改数据。
- 传递给 `lookup_ip` 的 IP 使用 `ipaddress` 进行验证并绑定为查询
参数——永远不会以字符串格式格式化到 SQL 中。
- 推荐:将 `HONEYPOT_DATABASE_URL` 指向仅授予 `SELECT` 权限的 DB 角色。
## 设置
```
python3 -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt
cp .env.example .env # then edit with your connection string
export HONEYPOT_DATABASE_URL="postgresql://user:pass@127.0.0.1:5433/honeypot"
python server.py selftest # verify DB connectivity
python server.py # run as an MCP (stdio) server
```
## 连接客户端
**Claude Code** (`claude mcp add`):
```
claude mcp add honeypot -- bash -lc 'cd /path/to/honeypot-mcp && \
HONEYPOT_DATABASE_URL="postgresql://user:pass@127.0.0.1:5433/honeypot" \
.venv/bin/python server.py'
```
**Claude Desktop** (`claude_desktop_config.json`):
```
{
"mcpServers": {
"honeypot": {
"command": "/path/to/honeypot-mcp/.venv/bin/python",
"args": ["/path/to/honeypot-mcp/server.py"],
"env": { "HONEYPOT_DATABASE_URL": "postgresql://user:pass@127.0.0.1:5433/honeypot" }
}
}
}
```
数据库位于我的服务器上(绑定到 localhost),因此我可以在那里运行此服务器
或者从我的笔记本电脑通过 SSH stdio 启动它:
```
{ "mcpServers": { "honeypot": {
"command": "ssh",
"args": ["ubuntu", "cd honeypot-mcp && .venv/bin/python server.py"]
}}}
```
标签:ASN信息, IP追踪, PostgreSQL, Python开发, SQL安全, 凭证填充, 协作平台, 地理信息, 威胁情报, 安全响应, 开发者工具, 恶意软件, 攻击战术, 攻击者分析, 攻击者行为分析, 数据库查询, 模型上下文协议, 测试用例, 网络安全, 蜜罐, 证书利用, 逆向工具, 隐私保护