README
🚀 ShieldOps
ShieldOps是一个基于Archestra MCP平台构建的自主多智能体安全运营中心(SOC)。它能够对警报进行分类,调查指标,执行遏制策略,并通过真实的MCP工具调用和PostgreSQL证据链生成符合合规要求的报告。
🚀 快速开始
git clone https://github.com/SaaiAravindhRaja/shieldops.git
cd shieldops
cp .env.example .env
# 启动基础设施
Docker compose up -d
# 启动仪表盘(独立或实时)
cd dashboard
npm install
npm run dev
仪表盘地址:http://localhost:3001
Archestra用户界面地址:http://localhost:3000
| 服务 | 端口 | 用途 | | --- | --- | --- | | 仪表盘 | 3001 | 安全运营中心用户界面 | | Archestra用户界面 | 3000 | MCP编排 | | Archestra API | 9000 | 智能体管理 | | PostgreSQL | 5432 | 事件数据库 | | Prometheus | 9090 | 指标监控 | | Grafana | 3002 | 可观测性 |
✨ 主要特性
- 真实的MCP执行:模拟触发针对MCP服务器的实时工具调用(非脚本化的用户界面)。
- 5个专业智能体:每个阶段(分类 → 调查 → 响应 → 报告 → 监督)采用最小权限工具访问。
- 防篡改证据链:每个事件显示时间线和证据哈希。
- 生产级技术栈:PostgreSQL、Prometheus、Grafana,并通过Terraform实现基础设施即代码(IaC)。
- 零成本演示路径:可使用模拟数据或通过Docker栈实时运行。
💻 使用示例
基础用法
git clone https://github.com/SaaiAravindhRaja/shieldops.git
cd shieldops
cp .env.example .env
# 启动基础设施
Docker compose up -d
# 启动仪表盘(独立或实时)
cd dashboard
npm install
npm run dev
高级用法
实时模拟演示
打开 /simulate 并运行任何场景。每个步骤都会执行一次真实的MCP工具调用,并显示JSON - RPC协议消息。
流水线预览:
- Sentinel 对警报进行分类 →
incident-db/create_incident - Sherlock 进行调查 →
threat-intel/*查找 - Overseer 批准高风险操作
- Responder 进行遏制 →
security-playbook/* - Chronicler 生成报告 → 事件关闭并进行合规检查
📚 详细文档
架构
shieldops/
├── dashboard/ # Next.js 16 + Tailwind v4 + Recharts
│ ├── app/ # 用户界面 + API路由
│ ├── components/ # 侧边栏、命令栏
│ └── lib/ # MCP引擎、数据钩子、实用工具
├── mcp-servers/
│ ├── incident-db/ # 事件生命周期 + 证据链
│ ├── threat-intel/ # AbuseIPDB / VirusTotal / NVD
│ └── security-playbook/ # 遏制操作 + 策略
├── terraform/ # Archestra基础设施即代码
├── grafana/ # 预配置的仪表盘
├── scripts/ # 数据库初始化 + 种子数据
└── docker-compose.yml
智能体
| 智能体 | 阶段 | 模型 | MCP工具 |
| --- | --- | --- | --- |
| Sentinel | 分类 | Gemini 2.5 Flash | create_incident, list_incidents, get_incident_stats |
| Sherlock | 调查 | Gemini 2.5 Pro | check_ip, check_hash, check_domain, check_cve, bulk_check_ips, get_incident, add_evidence, update_incident |
| Responder | 遏制 | Gemini 2.5 Flash | block_ip, isolate_pod, isolate_host, revoke_token, quarantine_user, execute_playbook |
| Chronicler | 报告 | Gemini 2.5 Flash | get_incident, update_incident, add_evidence, get_incident_stats |
| Overseer | 编排 | Gemini 2.5 Pro | 所有工具(审批权限) |
MCP服务器(18个工具)
| 服务器 | 工具 | 传输方式 | 功能 | | --- | --- | --- | --- | | incident-db | 6 | stdio | 基于PostgreSQL的事件生命周期 + 证据链 | | threat-intel | 5 | stdio | AbuseIPDB、VirusTotal、NVD集成 | | security-playbook | 7 | stdio | 遏制操作 + 策略执行 |
网络钩子摄入
ShieldOps通过以下方式接收警报:
curl -X POST http://localhost:3001/api/webhook/alert \
-H "Content-Type: application/json" \
-d '{"title":"Suspicious login from new country","severity":"P2","type":"unauthorized_access","source":"auth-service"}'
也支持Prometheus AlertManager格式。
🔧 技术细节
ShieldOps基于Archestra MCP平台构建,利用PostgreSQL作为事件数据库,通过真实的MCP工具调用实现警报分类、调查、遏制和报告等功能。智能体采用不同的Gemini模型,根据不同阶段的需求调用相应的MCP工具。系统使用Terraform实现基础设施即代码,结合Prometheus和Grafana进行指标监控和可观测性管理。
📄 许可证
本项目采用MIT许可证。
⚠️ 重要提示
- 如果数据库不可用,可完全使用模拟数据运行。
- 若要进行实时威胁情报查找,请在
.env中提供API密钥。 - 本项目旨在用于演示、黑客马拉松和概念验证部署。
微信扫一扫