mcpField
S
security-generate-security-sample-data

security-generate-security-sample-data

github.com/elastic安全6023.8k 次安装今天更新
代码仓库

关于 security-generate-security-sample-data

用于生成 Elastic Security 示例事件、攻击场景和合成告警的技能,可为演示和检测测试填充 Kibana 安全视图,并支持持续生成与清理。

主要功能

  1. 01生成符合 ECS 的安全事件
  2. 02模拟四种攻击场景
  3. 03创建带 MITRE ATT&CK 映射的合成告警
  4. 04持续流式生成事件
  5. 05删除生成的示例数据

适用场景

  1. 01为安全演示填充 Kibana 数据
  2. 02用攻击场景测试检测规则
  3. 03在现场演示期间持续更新仪表板
  4. 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.md
scripts/
demo-walkthrough.js
es-client.js
kibana-client.js
sample-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 密钥或用户名/密码。

评论

支持 Markdown