SpiderFoot MCP服务器
 ](https://nodejs.org/)  
一种模型上下文协议(MCP)服务器 蜘蛛脚,开源OSINT自动化工具。该服务器使AI助手能够通过SpiderFoot的全面扫描功能进行侦察、收集情报和分析目标。
特性
- 全OSINT自动化 -启动、停止和管理侦察扫描
- 200+数据模块 -访问SpiderFoot的广泛模块库以收集情报
- 多目标支持 -扫描域、IP、电子邮件、电话号码、用户名等
- 关联引擎 -利用SpiderFoot内置的关联规则进行威胁分析
- 导出和可视化 -以JSON/GEXF格式导出数据以供进一步分析
- 搜索和筛选 -使用正则表达式支持跨扫描查询
先决条件
- 蜘蛛脚 在启用web UI的情况下运行
- Node.js 18.0.0或更高版本
- npm或纱线
安装
# Clone the repository
git clone https://github.com/schwarztim/sec-spiderfoot-mcp.git
cd sec-spiderfoot-mcp
# Install dependencies
npm install
# Build the project
npm run build
配置
环境变量
| 变量 | 描述 | 默认值 |
|---|
SPIDERFOOT_URL | SpiderFoot网页用户界面URL | http://127.0.0.1:5001 |
SPIDERFOOT_USERNAME | 身份验证用户名(可选) | - |
SPIDERFOOT_PASSWORD | 身份验证密码(可选) | - |
Claude桌面配置
添加到您的Claude桌面配置(~/.config/claude/claude_desktop_config.json 在Linux或 ~/Library/Application Support/Claude/claude_desktop_config.json 在macOS上):
{
"mcpServers": {
"spiderfoot": {
"command": "node",
"args": ["/path/to/sec-spiderfoot-mcp/dist/index.js"],
"env": {
"SPIDERFOOT_URL": "http://127.0.0.1:5001"
}
}
}
}
蜘蛛脚设置
选项1:Python(推荐用于Kali Linux)
# Clone SpiderFoot
git clone https://github.com/smicallef/spiderfoot.git
cd spiderfoot
# Install dependencies
pip3 install -r requirements.txt
# Start with web UI
python3 sf.py -l 127.0.0.1:5001
选项2:Docker
docker run -p 5001:5001 spiderfoot/spiderfoot
选项3:Kali Linux软件包
sudo apt update && sudo apt install spiderfoot
spiderfoot -l 127.0.0.1:5001
可用工具
扫描管理
| 工具 | 说明 |
|---|
spiderfoot_ping | 测试与SpiderFoot服务器的连接 |
spiderfoot_scans | 列出所有扫描的状态和风险指标 |
spiderfoot_scan_status | 获取特定扫描的详细状态 |
spiderfoot_start_scan | 开始新的OSINT侦察扫描 |
spiderfoot_stop_scan | 停止正在运行的扫描 |
spiderfoot_delete_scan | 删除扫描及其数据 |
结果与分析
| 工具 | 说明 |
|---|
spiderfoot_results | 获取扫描结果(按类型筛选,排除误报) |
spiderfoot_summary | 获取按类型/模块/实体分组的摘要 |
spiderfoot_correlations | 获取相关性发现和模式 |
spiderfoot_search | 跨扫描搜索(支持正则表达式) |
配置和元数据
| 工具 | 说明 |
|---|
spiderfoot_modules | 列出所有可用的扫描模块 |
spiderfoot_event_types | 列出SpiderFoot可以收集的所有数据类型 |
spiderfoot_correlation_rules | 列出相关规则和风险评级 |
spiderfoot_config | 获取全局SpiderFoot配置 |
spiderfoot_scan_config | 获取用于特定扫描的配置 |
导出和可视化
| 工具 | 说明 |
|---|
spiderfoot_export | 以JSON格式导出扫描数据 |
spiderfoot_graph | 获取图形数据(JSON或GEXF表示Gephi) |
spiderfoot_discovery_path | 追踪数据元素是如何被发现的 |
spiderfoot_history | 获取扫描时间线/历史记录 |
诊断
| 工具 | 说明 |
|---|
spiderfoot_scan_log | 获取扫描的执行日志 |
spiderfoot_scan_errors | 获取扫描过程中遇到的错误 |
使用示例
开始侦察扫描
Start a footprint scan against example.com:
- Name: "Example Corp Recon"
- Target: "example.com"
- Use Case: "footprint" (attack surface mapping)
扫描用例
| 用例 | 描述 |
|---|
all | 运行所有模块(全面但缓慢) |
passive | 无主动探测-仅限OSINT |
investigate | 威胁调查重点 |
footprint | 攻击面测绘 |
使用正则表达式搜索
Search for all admin emails across scans:
- value: "/admin.*@.*\.com/"
获得具体结果
Get all email addresses found in scan:
- scan_id: "abc123"
- event_type: "EMAILADDR"
- unique: true
支持的目标类型
SpiderFoot可以扫描各种目标类型:
- 域名 -
example.com - IP地址 -
192.168.1.1, 192.168.1.0/24 - 电子邮件地址 -
user@example.com - 电话号码 -
+1-555-123-4567 - 保护用户名 -
johndoe - 比特币地址 -
1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa - 还有更多。..
安全考虑
- SpiderFoot执行可能被探测到的主动侦察
- 在扫描目标之前,始终确保您有授权
- 使用
passive 非侵入式OSINT收集用例 - 考虑敏感扫描操作的网络隔离
发展
# Watch mode for development
npm run dev
# Build for production
npm run build
# Start the server
npm start
许可证
MIT许可证-请参阅 许可证 了解详情。
相关项目
贡献
欢迎投稿!请随时提交拉取请求。
- 克隆该仓库
- 创建功能分支(
git checkout -b feature/amazing-feature) - 提交您的更改(
git commit -m 'Add amazing feature') - 推到分支(
git push origin feature/amazing-feature) - 打开拉取请求