pmoses-s1/claude-skills
GitHub: pmoses-s1/claude-skills
一套基于 Claude Skills 和 MCP 服务器的 SentinelOne AI SOC 分析师工具包,通过自然语言驱动威胁狩猎、告警分诊、检测规则编写和 SOAR 工作流编排。
Stars: 14 | Forks: 7
# SentinelOne AI Analyst: Claude Skills
这是一个为 SentinelOne 打造的全栈 AI 分析师,构建为一套 Claude skills、三个 MCP server 以及一个操作人格(CLAUDE.md)。只需安装一次,Claude 就能完全通过自然语言来追踪威胁、分诊告警、编写检测规则、部署仪表板、创建解析器以及构建自动化工作流。
- [架构概述](#architecture-overview)
- [包含内容](#whats-included)
- [PrincipalSOCAnalyst 项目](#principalsocanalyst-project)
- [交付成果](#what-it-delivers)
- [设置 PrincipalSOCAnalyst 项目](#setting-up-the-principalsocanalyst-project)
- [如何在其他环境中激活](#how-to-activate-in-other-environments)
- [会话中会发生什么](#what-happens-in-a-session)
- [你可以做什么](#what-you-can-do)
- [行为基线建立 + 异常检测](#behavioral-baselining--anomaly-detection)
- [示例问题](#example-questions)
- [安装、升级和配置](#installing-and-upgrading)
- [团队 VM 部署 (sentinelone-mcp)](#team-vm-deployment-sentinelone-mcp)
- [Windsurf](#windsurf)
- [文档](#documentation)
## 架构概述
在每次会话中,三个层级协同工作:
```
CLAUDE.md SOC Analyst persona: session protocol, evidence rules,
investigation workflow, classification gates
│
▼
MCP Servers Live API access, outside the Cowork sandbox proxy
sentinelone-mcp 26 tools: PowerQuery, SDL, Mgmt Console REST, UAM, Hyperautomation
purple-mcp Alert triage, Purple AI NLQ, Deep Visibility, assets, vulnerabilities
threat-intel-mcp External IOC enrichment (required for CRITICAL classification)
│
▼
Skills (SKILL.md) Procedural knowledge: confirmed API schemas, field requirements, usage patterns
sentinelone-mgmt-console-api Mgmt Console REST + UAM + Purple AI + HA
sentinelone-powerquery PowerQuery authoring and execution
sentinelone-sdl-api SDL log ingest and config file ops
sentinelone-sdl-dashboard Dashboard JSON authoring and deployment
sentinelone-sdl-log-parser Parser authoring and validation
sentinelone-hyperautomation Workflow JSON authoring and import
sentinelone-sdl-solutions Repeatable SDL solution deployment (onboarding, enrichment)
```
**Skills** 编码了经过确认的 API 行为,包括针对线上租户验证过的字段 schema 和使用模式,因此 Claude 无需猜测字段名。**MCP server** 绕过了 Cowork 沙箱代理,直接访问 `*.sentinelone.net`。**CLAUDE.md** 定义了操作人格,指导如何进行调查、收集什么证据以及如何对发现进行分类。
完整架构详情:[docs/architecture.md](./docs/architecture.md)
## 包含内容
该插件捆绑了所有 skill;只需安装它即可。无需单独设置任何 skill。
| Skill | 作用 |
|---|---|
| sentinelone-mgmt-console-api | 查询并对管理控制台执行操作:threats、alerts、agents、sites、RemoteOps、Deep Visibility、Hyperautomation、Purple AI、UAM。包含与数据源无关的行为基线建立 + 异常检测 pipeline (`baseline_anomaly.py`) |
| sentinelone-powerquery | 编写、调试和运行 PowerQuery,用于威胁追踪、STAR 检测规则、SDL 仪表板和统计基线 / 异常检测规则主体 |
| sentinelone-sdl-api | 通过 Singularity Data Lake API 摄取事件、运行查询并管理配置文件(解析器、仪表板、查找表) |
| sentinelone-sdl-dashboard | 设计、编写和部署 SDL 仪表板:面板、标签页、参数和完整的仪表板 JSON。有关所有支持的面板类型,请参阅 [docs/sdl-dashboard.md](./docs/sdl-dashboard.md) |
| sentinelone-sdl-log-parser | 为任何日志格式编写和验证 SDL 日志解析器,默认包含 OCSF 字段映射 |
| sentinelone-hyperautomation | 设计和生成 Hyperautomation 工作流 JSON,支持可选的线上控制台导入 |
| sentinelone-sdl-solutions | 通过一个简短的提示,将打包好的、可重复的 SDL 解决方案部署到客户站点:数据源接入(从原始流到 OCSF + 丰富化 + 仪表板 + MITRE 检测 + 威胁响应流)以及原始日志的资产丰富化(来自资产清单的设备/用户上下文)。协调上述各项 skill |
## PrincipalSOCAnalyst 项目
此仓库根目录下的 `CLAUDE.md` 可将 Claude 转变为**首席 SOC 分析师**:一个结构化的调查员,每次处理告警时,都会像资深分析师那样执行相同的丰富化、关联和推理过程。只需将其设置为一个命名的 Cowork 项目,每次会话开始时都会获得完整的简报。
### 交付成果
| 结果 | 方式 |
|---|---|
| **减少 70% 以上的 L1 SOC 工作量** | 自动化分诊、对每个 IOC 进行强制威胁情报丰富化,以及生成结论,消除了重复的告警调查工作。L1 分析师可以专注于异常情况,而不是日常事务。 |
| **让每位分析师达到首席级别** | 初级分析师能够获得与资深人员完全相同的结构化调查框架、丰富化深度和分析推理能力。 |
| **针对每个 IOC 的外部威胁情报** | 强制通过配置的威胁情报 MCP 对每个 IP、domain、hash 和 URL 进行丰富化。默认捆绑包附带 VirusTotal(70+ AV 引擎、威胁行为者归属、完整的基础设施映射);可以替换为任何同等的提供商(Recorded Future、Mandiant Advantage、OpenCTI、MISP 等),工作流保持不变。 |
| **平均调查时间低于 5 分钟** | 手动需要 45-60 分钟的调查工作流可压缩至 5 分钟以内。持续追踪能够捕捉分析师轮班之间的威胁。 |
| **全数据资产覆盖** | 查询 OCSF 规范化的日志、非 OCSF 供应商日志和原始 syslog。在会话开始时动态发现字段 schema,对存在哪些数据源没有任何硬编码假设。 |
| **快速创建检测规则** | 跨任何数据源进行自然语言检测规则编写。在调查过程中识别出威胁时,推荐新的 STAR 规则和自定义检测。 |
| **即刻交付能力** | 通过这种多层架构进行编排时,Purple AI 会变得更加强大,在每次调查中结合深度丰富化、跨源关联和外部威胁情报。 |
| **跨数据资产的联合搜索** | 在单个会话中,通过 MCP/API 跨 endpoint、网络、身份和云日志源进行搜索、关联和追踪。跨源关联能够发现任何单一源中不可见的信号。 |
**关键指标:** `< 5 分钟` 平均调查时间 · `100%` IOC 丰富化覆盖率 · `实时` MITRE ATT&CK 映射 · `释放 70%+` 的 L1 生产力
### 设置 PrincipalSOCAnalyst 项目
**最简单的方法:[Docker 安装](./docs/docker.md)。** 位于 `ghcr.io/pmoses-s1/s1-mcps` 的一个镜像捆绑了所有三个 MCP(sentinelone-mcp、purple-mcp、virustotal-mcp),并锁定在已知良好的组合版本上。无需主机级的 Node、Python 或 `uv`。在 macOS、Windows 和 Linux 上的工作方式相同,也适用于 IT 策略阻止 `npm install -g` 或 `pip install` 的受锁定机器。
四个步骤:
1. `docker pull ghcr.io/pmoses-s1/s1-mcps:1.2.2`
2. 将 [Docker MCP 配置](./docs/docker.md#step-2-configure-mcp-servers) 粘贴到 `claude_desktop_config.json` 中,并将占位符替换为您的 token 和区域 URL。
3. 通过 Cowork → Customize → Browse plugins 安装 [`.plugin` 文件](./sentinelone-skills-plugin/dist/)。
4. 创建一个名为 `PrincipalSOCAnalyst` 的 Cowork 项目,将其打开并运行 `smoke test s1 skills` 以进行验证。
完整的 Docker 参考(先决条件、凭据键、故障排除、升级):[docs/docker.md](./docs/docker.md)
**不想使用 Docker?** MCP 也可以直接通过 `npx`(sentinelone-mcp、virustotal)和 `uvx`(purple-mcp)运行。有关主机运行时路径,请参阅 [docs/installation.md](./docs/installation.md)。
**启动会话**
打开 **PrincipalSOCAnalyst** 项目并开始新对话。Claude 会自动读取 `CLAUDE.md` 并立即运行:
- 数据源枚举:发现您的 SDL 中存在的所有日志源
- 告警分诊:在枚举运行的同时并行拉取打开的告警
### 如何在其他环境中激活
**Claude Code (终端)**
```
cd ~/path/to/claude-skills # any folder containing CLAUDE.md
claude # CLAUDE.md is read automatically on startup
```
**任何 Claude 会话**
将 `CLAUDE.md` 的内容复制到任何已安装该插件的 Claude 会话的 Settings → Custom Instructions(或等效的 system prompt 字段)中。
### 会话中会发生什么
**会话初始化(自动进行,每次会话)**
1. 枚举 SDL 中所有实时的 `dataSource.name` 值,确认哪些日志源实际存在且可查询
2. 并行运行告警分诊,在执行枚举的同时拉取打开的/关键的告警
3. 对于发现的任何非 OCSF 源,在编写任何查询之前运行 schema 发现
**调查工作流**
- 分诊和上下文收集:告警详情、分析师备注、MDR 结论、资产重要性
- 威胁情报丰富化:在任何结论得出之前,通过配置的威胁情报 MCP(默认捆绑包中为 VirusTotal)丰富化每个 IP、domain、hash 和 URL;没有独立的 TI 确认,任何发现都不会被归类为 CRITICAL
- 基础设施枢轴分析:C2 基础设施、威胁行为者归属、SSL 证书重用、同级域、丢弃的 payload、执行链重建
- 跨源关联:在任何源中发现的 IOC 会立即在所有其他已连接的源中进行追踪
- 异常分析:检查每个查询结果的频率、时间、地理位置、基线、数量、新实体、权限和链异常
- MITRE ATT&CK 映射:将每个发现映射到战术和技术;识别杀伤链缺口
- 综合风险评分:跨源异常评分确定升级优先级
**报告生成**
在任何重要的调查结束时,要求 Claude 生成一份 SOC 报告。它会生成一个结构化的 `.docx` 文件,包含:执行摘要、事件时间线、受影响的资产、带有威胁情报结论的完整 IOC 表、威胁行为者概况、MITRE ATT&CK 映射、根本原因分析、威胁情报摘要、已采取的行动以及建议。
**会话示例启动器**
```
Start a new investigation session
```
```
Triage today's open alerts and flag anything requiring immediate action
```
```
Investigate alert ID : full enrichment, verdict, and recommended response
```
```
Hunt for lateral movement across all connected sources in the last 24 hours
```
```
Write a SOC Leader report for this investigation as a Word document
```
## 你可以做什么
这些 skill 将 Claude 变成了一位亲身实践的 SentinelOne 分析师和工程师。安装插件并配置好凭据后,您就可以用纯英语与您的租户对话了。Claude 负责处理 API 调用、查询编写和 JSON 创作工作,并解释其发现或构建的内容。
**威胁追踪与调查**:要求 Claude 跨您的 SDL 遥测数据追踪特定的 TTP、IOC 或行为。它会自动编写并运行 PowerQuery,翻页查看结果并总结发现。您只需发送一条消息,即可从一个模糊的问题(“是否有任何 PowerShell 连接到互联网?”)变成一个按可疑程度排名的 endpoint 表格。
**告警与威胁管理**:通过描述您的需求,列出未解决的威胁、对 UAM 告警进行分诊、添加分析师备注、更改状态或隔离 endpoint。Claude 会将您的意图映射到正确的管理控制台 API 调用,并确认它所做的操作。
**仪表板编写**:描述您想要的面板(“一个包含威胁时间线、噪声最大的 endpoint 和出站连接细分的 SOC 概览”),Claude 会生成可部署的 SDL 仪表板 JSON,并在部署前针对您的租户验证查询。
**日志解析器编写**:粘贴一段原始日志样本,Claude 就能编写完整的 SDL 解析器定义,将字段映射到 OCSF,在解析器引擎中进行验证,摄取测试事件,并在一次会话中端到端地确认字段是否正确显示。
**自动化与响应**:用自然语言描述响应工作流(“当服务器上触发高危告警时,隔离 endpoint,为告警中的任何 hash 创建 IOC,并通知团队”),Claude 会生成可供导入的 Hyperautomation 工作流 JSON。
**Data lake 操作**:通过 SDL API 摄取自定义遥测数据、列出并管理配置文件、部署或更新解析器和仪表板,以及运行任意查询。
**行为基线建立和异常检测**:在任何数据源(Okta、FortiGate、CloudTrail、SentinelOne、Mimecast、Zeek 或任何其他摄取到 SDL 中的数据)上建立基于(主体,动作)的统计基线,并自动揭示偏差。该 skill 会针对每个源自动发现正确的主体字段(用户、主机、IP、角色)和动作字段(event.type、activity_name、action),因此您无需硬编码字段名。请参阅下方的[行为基线建立](#behavioral-baselining--anomaly-detection)。
## 行为基线建立 + 异常检测
这是一个与数据源无关的 pipeline,用于为摄取到 SDL 中的任何日志源建立行为基线并揭示统计异常。位于 `sentinelone-mgmt-console-api/scripts/baseline_anomaly.py` 中;已记录的 PQ 构建块位于 `sentinelone-powerquery/examples/behavioral-baselines.md`。
### 它的功能
对于任何 `dataSource.name`,该 pipeline 会:
1. **通过 `inspect_source.discover_schema()` 自动发现 schema**,并根据源实际包含的内容选择 `principal_field`(用户 / 主机 / IP / 角色)和 `action_field`(event.type / activity_name / action),无需针对每个源进行硬编码。
2. **将基线时间窗口切分为 N 个每日的 LRQ 询**(默认为 30 天),在每用户 3 rps 的上限下并行运行 3 个查询。每个切片生成当天的 (动作, 主体, 计数) 行。每日切片避免了单一 7d/30d 聚合经常超出 LRQ 每次调用截止时间的问题。
3. **运行一个 24 小时的实时切片**,形状相同。
4. **在客户端合并**,采用以下两种策略之一:
- **`pooled`**:将所有每日样本放在每个(动作,主体)的一个桶中。简单,但会将周末的静默标记为异常。
- **`dow`**:每个(动作,主体,星期几)使用单独的桶。干净利落地消除了工作日/周末的误报,属于生产级别。
5. **在每次运行时揭示三类异常**:
- **匹配的 z-score 偏差**:在两个窗口中均处于活动状态,但实时计数与基线平均值的差异超过 `Z_THRESHOLD * stddev`(SPIKE 或 DROP)。
- **静默对**:在基线中处于活动状态,但实时事件为零。捕捉“用户 X 在他们通常活跃的日子里变安静了”。
- **新行为对**:在实时中被看到,但完全没有基线。可能是新用户、全新的侦察活动或攻击者的干扰,将被路由到单独的分诊队列。
### 为什么这很重要
基本的移动平均基线会遗漏三种生产故障模式,而此 pipeline 能够捕捉到:
- **基本的双侧连接会丢弃静默对。** 一个在每个工作日都活跃的关键用户帐户,如果今天静默了,它永远不会进入连接输出。该 pipeline 会显式遍历基线键以将其揭示出来。
- **Pooled 基线会标记每个周末。** 具有 22 个工作日 + 8 个周末样本的 30 天 pooled 基线会产生很高的 stddev,但在周日,每个仅限工作日的对看起来都是异常的。按星期几分层使得比较变得同质化。
- **一刀切的主体字段行不通。** Okta 使用 `actor.user.email_addr`。CloudTrail 使用 `actor.user.name`(角色)。FortiGate 使用 `device.name` 或 `src.ip.address`。SentinelOne 使用 `src.process.user`。Schema 发现步骤会针对每个源选择正确的字段。
### 如何使用它
**一次性 CLI:**
```
# 自动发现 principal/action,30天 DoW 分层 baseline,默认 Z=2.0
python sentinelone-mgmt-console-api/scripts/baseline_anomaly.py --source "Okta"
# 网络源:自动发现选取 device.name + event.type
python sentinelone-mgmt-console-api/scripts/baseline_anomaly.py --source "FortiGate" --days 14
# 如果您更了解情况,请覆盖字段
python sentinelone-mgmt-console-api/scripts/baseline_anomaly.py --source "Zscaler Internet Access" \
--principal src.ip.address --action unmapped.action
# 合并池化(无 DoW 分层)且使用更严格的阈值
python sentinelone-mgmt-console-api/scripts/baseline_anomaly.py --source "CloudTrail" \
--stratify pooled --z 3.0
```
状态会检查点保存到 `/baselines/baseline_anomaly__state.json`,因此该脚本可以在短暂的 shell 预算之间恢复运行。最终结果会存放在 `baseline_anomaly__result.json` 中。
**在 Cowork 聊天会话中:**
直接问即可。PowerQuery skill 会自动委托给 mgmt-console-api skill。
```
Build a 30-day behavioral baseline for Okta and show me anomalies for today.
Find users behaving differently from their typical pattern across all SaaS sources.
Run anomaly detection on FortiGate: which devices have unusual traffic today vs the last two weeks?
Which CloudTrail roles are silent today that were active every day last week?
```
### 将其产品化为 STAR / PowerQuery Alert 规则
对于经常性的检测(而不是临时的检测),生产模式会保留基线并在检测时读取它:
1. 安排一个 Hyperautomation 工作流在每晚运行每日切片,并通过 `| savelookup '_baseline_dow', 'merge'` 将按星期几分层(DoW-stratified)的基线写入配置管理的查找表中。
2. 编写一个 PowerQuery Alert 规则主体,它运行实时查询,通过 `| lookup` 连接基线表,并根据 `(live_count - avg) / sd >= 3.0 OR <= -3.0` 进行过滤。
3. 对阈值进行分级:`|z| >= 3.0` 用于自动寻呼,`|z| >= 2.0` 用于分析师审查队列,为静默对和新行为对提供单独的路径。
完整的 PQ 构建块和规则主体结构位于 `sentinelone-powerquery/examples/behavioral-baselines.md`。
## 示例问题
这些是您可以提出的真实问题。Claude 会自动选择合适的 skill。
### 威胁追踪
- *“追踪过去 7 天内任何打开了连接到非 RFC1918 IP 的进程;按命中次数显示排名前列的 endpoint”*
- *“编写一个 PowerQuery 来查找非系统进程读取 lsass 内存的行为”*
- *“过去 30 天内,我的租户上是否有针对 Mimikatz 或 BloodHound 的 HIFI 指标?”*
- *“查找编码了 Base64 命令的 PowerShell 脚本,按 endpoint 分组”*
- *“显示本周 Windows server 出站连接排名前 20 的目标 IP”*
- *“编写一个 STAR 检测规则,当脚本解释器生成网络工具时触发”*
### 行为基线建立和异常检测
- *“为 Okta 建立一个 30 天的行为基线,并显示今天的异常情况”*
- *“在 FortiGate 上运行按星期几分层的基线,并揭示具有异常流量模式的设备”*
- *“今天有哪些上周每天都活跃的 CloudTrail 角色今天静默了?”*
- *“在 Google Workspace 中查找今天活动量比其典型情况超出 3 个标准差的用户”*
- *“检测我所有 SaaS 源中的异常,并按综合 z-score 对它们进行排名”*
- *“为每个 endpoint 的 SentinelOne 进程活动建立基线,并查找自今天早上以来的峰值”*
- *“为我构建一个 STAR 规则主体,使用存储的基线查找表来检测登录峰值”*
### 告警和威胁管理
- *“列出过去 24 小时内创建的所有未解决威胁,按置信度排序”*
- *“显示今天严重程度为 High 或 Critical 的未解决 UAM 告警”*
- *“在告警 ID `abc123` 上添加备注,说明它已经过审查并且是误报”*
- *“隔离 endpoint `DESKTOP-XYZ`,并为其 SHA1 hash `aabbcc...` 创建一个 IOC”*
- *“本周有多少威胁已缓解与未解决,按站点细分为?”*
- *“获取告警 ID `xyz` 的详细信息,包括任何关联的 agent 和威胁信息”*
### 仪表板
- *“为我构建一个 SOC 概览仪表板,包含:按置信度划分的威胁时间线、噪声最大的 10 个 endpoint、随时间变化的登录失败以及按方向细分的出站连接”*
- *“创建一个 Purple AI 使用情况仪表板,显示分析师的查询和使用情况时间线”*
- *“在我的仪表板中添加一个蜂窝面板,按 endpoint 显示文件创建活动”*
- *“为我的审计仪表板创建一个 O365 标签页,显示按用户和国家/地区划分的登录失败情况”*
- *“将我的仪表板 JSON 部署到 SDL 的 `/dashboards/soc-overview`”*
### 日志解析器
- *“为这个 Palo Alto syslog 样本编写一个 SDL 解析器:``”*
- *“我有一条来自 CrowdStrike 的 CEF 日志:创建一个带有 OCSF 字段映射的解析器”*
- *“我的 FortiGate 解析器无法正确提取目标 IP,这是 JSON:``”*
- *“验证我的解析器并摄取一个测试事件,以确认字段看起来正确无误”*
### Data lake 操作
- *“列出我的 SDL 租户上 `/dashboards/` 下的所有配置文件”*
- *“将这个 JSON 数组的事件以源名称 `custom-app` 摄取到 SDL 中”*
- *“针对我的租户运行这个 PowerQuery 并以表格形式返回结果:``”*
- *“下载我的 `/logParsers/fortinet-fortigate` 解析器的当前版本”*
### SOC 调查和分诊
- *“启动一个新的调查会话:枚举实时数据源并拉取今天打开的告警”*
- *“分诊告警 ID `abc123`:获取完整详细信息,检查备注和历史记录,通过威胁情报 MCP 丰富化任何 IOC,并给出结论”*
- *“丰富化此文件 hash `aabbccdd...`:检测率、行为分析、C2 基础设施和威胁行为者归属”*
- *“以 IP `1.2.3.4` 进行枢轴分析:什么恶意软件与它通信,什么域名解析到它,它是否与任何 APT 组织有关?”*
- *“在所有已连接的数据源中对该 IOC 进行交叉关联:检查 firewall、Okta、Zeek 和 CloudTrail,查找任何关于 `1.2.3.4` 的痕迹”*
- *“检查 endpoint `DESKTOP-XYZ` 的异常情况:跨进程、网络和身份数据运行完整的异常检查清单”*
- *“将 MITRE ATT&CK 框架应用于我们目前发现的情况:映射了哪些技术以及检测漏洞在哪里?”*
- *“使用跨源异常框架对当前调查进行评分,告诉我我们是否应该升级为 IR”*
### 报告
- *“将这份调查报告编写为 Word 文档的 SOC Leader 报告:执行摘要、事件时间线、带有威胁情报结论的 IOC 表、MITRE 映射、根本原因和建议”*
- *“为 SOC 领导层生成一份每周威胁摘要,涵盖已分诊的告警、确认的真实阳性、顶级 IOC 和任何活跃的活动”*
- *“为过去 24 小时内发现的所有指标生成一份 IOC 表,包括威胁情报 MCP 结论、检测率和威胁行为者归属”*
- *“就我们发现的 firewall 信标模式提供一份高管级别的摘要:一段话,侧重于业务风险,不带术语”*
### Hyperautomation 工作流
- *“构建一个工作流,当 Ransomware 指标触发时隔离 endpoint 并发送 Slack 通知”*
- *“创建一个计划的工作流,每天早上运行,并通过电子邮件发送夜间威胁摘要”*
- *“编写一个 webhook 工作流,从传入的威胁情报 feed payload 创建 IOC”*
- *“设计一个 playbook:在出现 Critical 告警时,添加备注、升级站点状态并寻呼值班分析师”*
### SDL 解决方案部署 (sentinelone-sdl-solutions)
只需一个简短的提示,即可将整个解决方案部署到客户站点。该 skill 会运行一个简短的
参数访谈,预览渲染好的配置,然后进行部署和验证。
**数据源接入**(从原始流到 OCSF、丰富化、仪表板、MITRE 检测、威胁响应流)。完整指南:[docs/solutions/data-source-onboarding.md](./docs/solutions/data-source-onboarding.md)。
- *“在 Acme 站点上接入 cisco_meraki 日志”*
- *“将我们新的 FortiGate firewall 源引入 AI SIEM,并构建检测和仪表板”*
- *“在 pmoses demo 上为 Okta 源设置检测和仪表板”*
- *“端到端接入我们的 Zscaler 日志:OCSF 解析器、资产丰富化的仪表板、MITRE 映射的检测以及 SOC 威胁响应 playbook”*
- *“接入 cisco_meraki 并添加响应自动化,对目标进行 VirusTotal 检查,然后在判定为恶意时阻止 IOC 并隔离源主机”*
**原始日志的资产丰富化**(来自资产清单的设备/用户上下文)。完整指南:[docs/solutions/asset-enrichment.md](./docs/solutions/asset-enrichment.md)。
- *“在 Acme 站点上为 Acme 部署资产丰富化解决方案”*
- *“使用设备和用户信息丰富化 firewall 日志”*
- *“添加资产丰富化,仅限查询时,无需解析器”*
当您要求添加丰富化时,它是一个单一的多选提示:可选择 Device、
User/AD、Vulnerabilities、Misconfigurations、Open alerts 或 Cloud context 中的任意项。示例:
- *“添加丰富化:设备上下文和未解决的漏洞,以 hostname 为键”*
- *“使用用户 AD 组和权限以及设备重要性来丰富化每个事件”*
## 安装和升级
两种安装路径,均只需四步即可从零开始进入工作会话:
- **[Docker(推荐,最简单)](./docs/docker.md)**:一个镜像捆绑了所有三个 MCP,无需主机级 Node、Python 或 `uv`。固定 semver 标签,实现可重现的安装。适用于 IT 策略阻止 `npm install -g` 或 `pip install` 的受锁定机器。
- **[npx/uvx(主机运行时)](./docs/installation.md)**:MCP server 直接通过 `npx` 和 `uvx` 在主机上运行。磁盘占用更轻,每次会话启动稍快,但需要安装 Node 18+ 和 `uv`。
对于想要使用一个共享的 `sentinelone-mcp` 实例而不是每台笔记本电脑单独安装的团队,请参阅 **[团队 VM 部署](./docs/vm-deployment.md)** (v1.1.0+)。
升级:
- **Docker**:在 `claude_desktop_config.json` 中提升标签(例如从 `:1.2.1` 升至 `:1.2.2`)并重启 Claude Desktop。新镜像在首次启动时拉取。
**npx/uvx**:实际上是免费的;`npx -y` 和 `uvx` 在每次启动 Claude Desktop 时都会将 MCP server 重新解析为最新发布的版本。
- **插件**:无论您选择哪种安装路径,均可通过 Cowork → Customize → Browse plugins 进行单文件替换。
## 配置
有关凭据设置、完整的键参考和解析顺序,请参阅 [docs/installation.md#configuration](./docs/installation.md#configuration)。
## 团队 VM 部署
希望整个团队使用一个共享的 `sentinelone-mcp` 实例,而不是每台笔记本电脑单独安装吗?`sentinelone-mcp` v1.1.0+ 原生支持此功能。请参阅专门的指南:
**[docs/vm-deployment.md](./docs/vm-deployment.md)** — 一键安装、基于用户的 bearer token、Caddy TLS、支持 SIGHUP 重新加载的轮换、审计日志。
## Windsurf
此仓库在 `.windsurf/workflows/` 中包含了 Windsurf 工作流文件。每个工作流都是一个轻量级的指针,指示 Cascade 读取匹配的 skill 文件夹中的规范 `SKILL.md` 和参考文档,内容不重复。
- `sentinelone-api.md`:管理控制台 API(agents、threats、alerts、sites、Purple AI、UAM)。
- `sentinelone-powerquery.md`:PowerQuery 编写、调试和检测规则。
- `sentinelone-sdl-api.md`:Singularity Data Lake API(摄取、查询、配置文件)。
- `sentinelone-sdl-log-parser.md`:带有 OCSF 映射的 SDL 日志解析器编写。
## 文档
| 文档 | 内容 |
|---|---|
| [docs/zero-to-hero.md](./docs/zero-to-hero.md) | 面向不熟悉 Claude Skills 的客户和合作伙伴的入门指南:概念、安装、首次会话、常见工作流、故障排除 |
| [docs/docker.md](./docs/docker.md) | **推荐的安装路径。** 一个 Docker 镜像捆绑了所有三个 MCP,无需主机级 Node/Python/uv。只需四步即可从零开始进入工作会话,并包含故障排除和升级指南 |
| [docs/installation.md](./docs/installation.md) | 通过 `npx`/`uvx` 进行备选主机运行时安装,以及凭据配置、项目创建和升级路径 |
| [docs/vm-deployment.md](./docs/vm-deployment.md) | 针对 `sentinelone-mcp` (v1.1.0+) 的团队 VM 部署:一键安装、基于用户的 bearer token、TLS、审计日志 |
| [docs/architecture.md](./docs/architecture.md) | 三层架构如何结合在一起、数据流、认证模式、沙箱代理说明 |
| [docs/skills.md](./docs/skills.md) | 各个 skill 的能力参考、关键脚本和字段要求 |
| [docs/mcp-tools.md](./docs/mcp-tools.md) | 所有 sentinelone-mcp 和 purple-mcp 工具及其使用说明,以及在不同场景下该使用哪个工具 |
| [docs/credentials.md](./docs/credentials.md) | 每个凭据键、获取位置、完整的 `claude_desktop_config.json` 参考 |
| [docs/testing.md](./docs/testing.md) | 完整的测试覆盖矩阵、MCP 工具验证结果以及已确认的 API 字段要求 |
| [docs/sdl-dashboard.md](./docs/sdl-dashboard.md) | 所有支持的面板类型和仪表板功能,并附带已确认的 JSON 示例 |
| [docs/solutions/data-source-onboarding.md](./docs/solutions/data-source-onboarding.md) | SDL 解决方案:通过一个提示,端到端接入原始源(OCSF、丰富化、仪表板、检测、威胁响应流) |
| [docs/solutions/asset-enrichment.md](./docs/solutions/asset-enrichment.md) | SDL 解决方案:使用来自资产清单的设备/用户/漏洞/告警上下文丰富化原始日志,并附带提示示例 |
| [docs/detection-asset-binding.md](./docs/detection-asset-binding.md) | 哪些事件属性使 STAR 检测告警能自动填充目标资产(设备、身份、云端)、经过测试的按类型绑定矩阵,以及资产丰富化解决方案如何提供它们 |
| [sentinelone-mgmt-console-api/SKILL.md](./sentinelone-mgmt-console-api/SKILL.md) | 深度参考:确认的字段 schema 和每个 endpoint 所需的 API 参数 |
| [sentinelone-mgmt-console-api/tests/README.md](./sentinelone-mgmt-console-api/tests/README.md) | 可逆的生命周期测试模式和针对具体测试的字段说明 |
标签:AI智能体, MCP, MITM代理, SentinelOne, SOAR, 告警分诊, 安全运营, 扫描框架, 请求拦截, 逆向工具