关于 security-generate-security-sample-data
用于生成 Elastic Security 示例事件、攻击场景和合成告警的技能,可为演示和检测测试填充 Kibana 安全视图,并支持持续生成与清理。
主要功能
- 01生成符合 ECS 的安全事件
- 02模拟四种攻击场景
- 03创建带 MITRE ATT&CK 映射的合成告警
- 04持续流式生成事件
- 05删除生成的示例数据
适用场景
- 01为安全演示填充 Kibana 数据
- 02用攻击场景测试检测规则
- 03在现场演示期间持续更新仪表板
- 04演示后清理示例事件和告警
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ elastic/ agent-skills --skill security-generate-security-sample-data安装后在 Claude Code 中输入/security-generate-security-sample-data确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/sample-data-reference.mdscripts/demo-walkthrough.jses-client.jskibana-client.jssample-data.js详细介绍
生成安全示例数据
生成符合 ECS 标准的安全事件、多步骤攻击场景和合成告警文档,用于填充 Elastic Security 仪表板、Alerts 标签页和 Attack Discovery。
快速开始
如需零门槛体验,一次性生成所有内容并打开 Kibana:
node skills/security/generate-security-sample-data/scripts/demo-walkthrough.js
工作流
- [ ] Step 1: Set environment variables
- [ ] Step 2: Generate sample data
- [ ] Step 3: Explore in Kibana
- [ ] Step 4: Clean up when done
第 1 步:设置环境变量
export ELASTICSEARCH_URL="https://your-project.es.region.aws.elastic.cloud"
export ELASTICSEARCH_USERNAME="admin"
export ELASTICSEARCH_PASSWORD="your-password"
export KIBANA_URL="https://your-project.kb.region.aws.elastic.cloud"
第 2 步:生成示例数据
一次性生成所有内容
node skills/security/generate-security-sample-data/scripts/sample-data.js \
system endpoint okta aws windows --scenarios --alerts
仅生成事件
node skills/security/generate-security-sample-data/scripts/sample-data.js \
system endpoint --count 100
仅生成攻击场景
node skills/security/generate-security-sample-data/scripts/sample-data.js --scenarios
仅生成合成告警
node skills/security/generate-security-sample-data/scripts/sample-data.js --alerts
第 3 步:在 Kibana 中查看
生成数据后,引导用户前往以下页面:
- Security > Alerts — 带有 MITRE ATT&CK 映射的合成告警
- Security > Attack Discovery — 需要 LLM 连接器来分析告警
- Security > Hosts — 示例事件中的主机活动
- Security > Overview — 所有安全数据的摘要
- Discover — 所有数据流中的原始事件
第 4 步:完成后清理
node skills/security/generate-security-sample-data/scripts/sample-data.js --cleanup
生成内容
示例数据涵盖 5 个软件包(system、endpoint、windows、aws、okta)和 4 个针对性攻击场景,涵盖最常见的演示主题:Windows 凭据窃取、AWS 云权限提升、Okta 身份接管,以及完整的勒索软件攻击链。合成告警文档会被索引到 .alerts-security.alerts-default,其中包含 MITRE ATT&CK 映射、严重性级别和风险评分。
所有事件均使用符合 RFC 5737 / RFC 2606 标准的安全地址。有关软件包、场景和告警的完整列表,请参阅 references/sample-data-reference.md。
连续模式
持续输出事件,以模拟实时环境:
node skills/security/generate-security-sample-data/scripts/sample-data.js \
--continuous --interval 15
每第 5 批数据包含一个攻击场景;每第 10 批数据会添加合成告警。按 Ctrl+C 停止。
工具参考
sample-data.js
| 标志 | 说明 |
|---|---|
--count、-n | 每个软件包的事件数(默认:50) |
--scenarios | 运行所有攻击模拟场景 |
--scenario NAME | 运行指定场景 |
--alerts | 生成合成告警文档 |
--cleanup | 移除所有示例数据和告警 |
--continuous | 持续输出实时事件(按 Ctrl+C 停止) |
--interval N | 连续批次之间的秒数(默认:30) |
--json、-j | 以 JSON 格式输出结果 |
--yes、-y | 跳过确认提示 |
demo-walkthrough.js
零门槛运行程序,可生成所有内容并打开 Kibana。
| 标志 | 说明 |
|---|---|
--cleanup | 移除所有示例数据、告警和案例 |
--continuous | 生成数据后持续输出实时事件 |
--count N | 每个软件包的事件数(默认:50) |
--interval N | 批次之间的秒数(默认:30) |
示例
为利益相关者快速演示
“设置一个演示环境,让我向副总裁展示 Attack Discovery。”
node skills/security/generate-security-sample-data/scripts/demo-walkthrough.js
针对性场景测试
“仅生成勒索软件攻击链,以测试我们的检测规则。”
node skills/security/generate-security-sample-data/scripts/sample-data.js \
--scenario ransomwareChain --alerts
模拟实时 SOC
“持续生成事件,让仪表板在演示期间保持活跃。”
node skills/security/generate-security-sample-data/scripts/demo-walkthrough.js --continuous
演示后清理
“从我的项目中移除所有示例数据。”
node skills/security/generate-security-sample-data/scripts/sample-data.js --cleanup
指南
- 所有生成的文档都会添加
tags: ["elastic-security-sample-data"]标签,以便安全清理。清理命令 只会删除带有此标记的文档。 - 如果数据流中的标记字段未编入索引,清理操作会改为扫描
_source.tags,查找过去 14 天内匹配的样本 文档。 - 合成告警会直接编入
.alerts-security.alerts-default,无需安装或启用检测规则。 - Attack Discovery 需要配置 LLM 连接器(OpenAI、Anthropic、Google Gemini 等)。请在 Kibana 的 Stack Management > Connectors 中进行配置。“Complete”项目层级会解锁此功能,但仍需单独设置连接器。
- 使用
case-management技能从告警创建调查案例。
生产环境使用
- 除非你打算在真实告警旁注入合成数据,否则不要在生产集群上运行。 样本事件和告警带有清理标记,但仍会与真实数据一起显示在仪表板、“告警”选项卡和 Attack Discovery 中。
- 所有写入操作(
generate、--cleanup、--continuous)都会提示确认。由 Agent 调用时,可传入--yes或-y跳过确认。 --cleanup会在所有样本数据索引上运行deleteByQuery,运行前请确认环境变量指向预期的集群。--continuous模式会无限期编入事件,直到手动按 Ctrl+C 停止。
环境变量
| 变量 | 必需 | 说明 |
|---|---|---|
ELASTICSEARCH_URL | 是 | Elasticsearch URL |
ELASTICSEARCH_API_KEY | 是* | Elasticsearch API 密钥 |
ELASTICSEARCH_USERNAME | 是* | Elasticsearch 用户名(替代方式) |
ELASTICSEARCH_PASSWORD | 是* | Elasticsearch 密码(替代方式) |
KIBANA_URL | 否 | Kibana URL(用于创建案例和生成链接) |
KIBANA_USERNAME | 否 | Kibana 用户名(使用 Kibana 功能时需要) |
KIBANA_PASSWORD | 否 | Kibana 密码(使用 Kibana 功能时需要) |
*Elasticsearch 需要 API 密钥或用户名/密码。