使用说明
Sophos中央MCP服务器
A. 模型上下文协议(MCP) 为AI助手提供访问权限的服务器 Sophos Central,统一的云安全管理平台。管理端点、调查警报、分析EDR/XDR检测、运行实时发现查询和审核安全策略。
特性
端点
- 按主机名、IP、操作系统、运行状况列出、搜索和检查端点
- 事件响应的网络隔离和非隔离
- 按需扫描触发
- 软件清单检索
警报
- 按严重性、类别、产品、日期范围列出和过滤警报
- 确认并解决警报,并采取相应措施
- 查看每个警报的可用响应操作
EDR/XDR检测
- 使用MITRE ATT&CK技术映射列出检测结果
- 威胁案例管理(分组相关检测)
- 检测与病例相关性
安全事件
- 按类型、严重性、端点、日期范围搜索事件
- 事件类型目录(恶意软件、PUA、网络过滤器等)
- 管理员审核日志访问
政策
- 列出端点、服务器和防火墙策略
- 检查单个策略配置
- 审查全球和特定政策的除外责任
租户管理
- 多租户列表(MSP/合作伙伴视图)
- 租户详细信息和许可证信息
- 总体租户安全健康评分
实时发现(osquery)
- 在端点上执行实时发现查询
- 保存查询库管理
- 查询结果检索
- 查询类别浏览
建筑
┌────────────────────────────────────────┐
│ MCP Client (LLM) │
└──────────────┬─────────────────────────┘
│ MCP Protocol (stdio)
┌──────────────▼─────────────────────────┐
│ sophos-mcp server │
│ │
│ ┌──────────┐ ┌────────────────────┐ │
│ │ Prompts │ │ Resources │ │
│ │ 4 guides │ │ queries, policies, │ │
│ │ │ │ MITRE mappings │ │
│ └──────────┘ └────────────────────┘ │
│ │
│ ┌──────────────────────────────────┐ │
│ │ Tools │ │
│ │ endpoints │ alerts │ detections │ │
│ │ events │ policies │ tenants │ │
│ │ live-discover │ │
│ └──────────────┬───────────────────┘ │
│ │ │
│ ┌──────────────▼───────────────────┐ │
│ │ Sophos Central API Client │ │
│ │ (OAuth2 + REST) │ │
│ └──────────────┬───────────────────┘ │
└──────────────────┼─────────────────────┘
│ HTTPS
┌──────────────────▼─────────────────────┐
│ Sophos Central Platform API │
│ https://api.central.sophos.com │
└────────────────────────────────────────┘
安装
git clone https://github.com/solomonneas/sophos-mcp.git
cd sophos-mcp
npm install
npm run build
配置
Sophos Central使用带有客户端凭据的OAuth2。设置环境变量:
export SOPHOS_CLIENT_ID="your-client-id"
export SOPHOS_CLIENT_SECRET="your-client-secret"
export SOPHOS_TENANT_ID="your-tenant-id" # optional for single-tenant
或者使用 .env 文件:
SOPHOS_CLIENT_ID=your-client-id
SOPHOS_CLIENT_SECRET=your-client-secret
SOPHOS_TENANT_ID=your-tenant-id
正在获取API凭据
- 登录到 Sophos Central
- 首选 全局设置>API凭据管理
- 点击 添加凭据 并分配角色
- 复制客户端ID和客户端密码
MCP客户端配置
克劳德桌面版
{
"mcpServers": {
"sophos": {
"command": "node",
"args": ["path/to/sophos-mcp/dist/index.js"],
"env": {
"SOPHOS_CLIENT_ID": "your-client-id",
"SOPHOS_CLIENT_SECRET": "your-client-secret"
}
}
}
}
龙虾
添加到您的 openclaw.json:
{
"mcp": {
"servers": {
"sophos": {
"type": "stdio",
"command": "node",
"args": ["/path/to/sophos-mcp/dist/index.js"],
"env": {
"SOPHOS_CLIENT_ID": "your-client-id",
"SOPHOS_CLIENT_SECRET": "your-client-secret"
}
}
}
}
}
工具参考
| 工具 | 说明 |
|---|---|
list_endpoints |
按主机名、IP、运行状况、操作系统、组搜索端点 |
get_endpoint |
包含代理信息和产品的完整端点详细信息 |
isolate_endpoint |
网络隔离端点(事件响应) |
unisolate_endpoint |
删除网络隔离 |
scan_endpoint |
触发按需扫描 |
get_endpoint_software |
列出端点上安装的软件 |
list_alerts |
获取具有严重性/类别/产品筛选器的警报 |
get_alert |
带有描述的完整警报详细信息 |
acknowledge_alert |
将警报标记为已确认 |
resolve_alert |
解决/关闭警报并采取行动 |
get_alert_actions |
列出可用的响应操作 |
list_detections |
带过滤器的EDR/XDR检测 |
get_detection |
通过MITRE ATT&CK映射进行全面检测 |
get_threat_cases |
分组相关检测 |
get_case_detections |
威胁案例中的所有检测 |
update_case_status |
更新威胁案例状态 |
search_events |
按类型/严重性/日期搜索安全事件 |
get_event |
完整活动详情 |
list_event_types |
可用事件类型目录 |
get_audit_logs |
管理员审计跟踪 |
list_policies |
列出端点/服务器/防火墙策略 |
get_policy |
完整策略配置 |
get_policy_settings |
策略中的特定设置 |
list_exclusions |
全球和特定政策除外责任 |
list_tenants |
列出受管理租户(MSP视图) |
get_tenant |
租户详细信息和许可证信息 |
get_tenant_health |
总体租户安全健康评分 |
run_query |
在端点上执行实时发现查询 |
list_saved_queries |
列出已保存的实时发现查询 |
get_query_results |
检索已完成的查询结果 |
list_query_categories |
可用查询类别 |
实时发现查询示例
-- Running processes
SELECT pid, name, path, cmdline, start_time FROM processes WHERE name = 'suspicious.exe';
-- Listening ports (non-standard)
SELECT pid, port, address, protocol FROM listening_ports WHERE port NOT IN (80, 443, 22);
-- Scheduled tasks
SELECT name, action, path, enabled FROM scheduled_tasks WHERE enabled = 1;
-- Installed software from unknown publishers
SELECT name, version, publisher FROM programs WHERE publisher LIKE '%unknown%';
-- Active network connections to suspicious port
SELECT pid, remote_address, remote_port, state FROM socket_events WHERE remote_port = 4444;
-- File hash lookup
SELECT path, sha256 FROM hash WHERE path = '/usr/bin/suspicious';
-- Recently modified executables
SELECT path, filename, size, mtime FROM file WHERE path LIKE '/tmp/%' AND filename LIKE '%.exe';
提示
| 提示 | 描述 |
|---|---|
investigate-endpoint |
指导性终点调查工作流程 |
threat-hunt |
通过Live Discover跨端点搜索IOC |
incident-response |
逐步IR:遏制、调查、补救 |
health-audit |
审查租户/端点安全状况 |
资源
| URI | 描述 |
|---|---|
sophos://live-discover-queries |
内置Live Discover查询库 |
sophos://policy-reference |
策略设置参考 |
sophos://mitre-mappings |
MITRE ATT&CK技术映射 |
发展
npm run build # Compile TypeScript
npm run dev # Watch mode
npm run test # Run tests
npm run lint # Lint check
许可证
麻省理工学院