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安全, 凭证填充, 协作平台, 地理信息, 威胁情报, 安全响应, 开发者工具, 恶意软件, 攻击战术, 攻击者分析, 攻击者行为分析, 数据库查询, 模型上下文协议, 测试用例, 网络安全, 蜜罐, 证书利用, 逆向工具, 隐私保护