secops-es-benchmark
收藏资源简介:
包含约23.9万条ECS文档的标记数据集,包含5个Linux入侵事件形成一条杀伤链,27个ATT&CK技术,12个以上Elastic数据流,用于评估安全运营调查代理。
A labeled dataset containing approximately 239,000 ECS documents. It covers 5 Linux intrusion incidents that form a single kill chain, includes 27 ATT&CK techniques, and features more than 12 Elastic data streams, and is designed for evaluating security operations investigation agents.
secops-es-benchmark 数据集详情
数据集概述
secops-es-benchmark 是一个用于评估安全运营(SecOps)AI代理在 Elasticsearch 上执行安全调查能力的基准测试数据集。该数据集包含约 23.9 万条 ECS 规范化的 Elastic 安全遥测数据,覆盖 5 次 Linux 入侵事件形成的完整杀伤链,涉及 27 种 ATT&CK 技术、12 个战术阶段,以及 12 种以上的 Elastic 数据流(包括 Endpoint、Zeek、nginx、Suricata、检测告警等)。数据集提供 5 项调查任务和 54 个自动评分问题。
数据内容与场景
攻击场景
五个真实且无破坏性的入侵在受监控的基础设施上执行并采集为实时 Elastic 遥测数据,共同构成跨两台主机的端到端杀伤链:
| 案例 | 场景 | 杀伤链阶段 | 代表性 ATT&CK 技术 |
|---|---|---|---|
| 01 | 侦察 + C2 | 发现、凭据访问、C2 | T1087.001、T1003.008、T1071.001 |
| 02 | 收集 + 外传 | 收集、外传 | T1005、T1560.001、T1041 |
| 03 | Web 漏洞利用 → 反弹 shell | 初始访问 | T1595、T1190 |
| 04 | 权限提升 | 权限提升 | T1548 |
| 05 | 横向移动 | 横向移动 | T1021.004 |
每个恶意事件都有已知的 ATT&CK 技术和意图(真实标签),周边遥测为真实生产噪音——兼有可信标签和现实噪音。
数据流
- Elastic Endpoint:进程树、文件写入、出站流量、主机告警
- Zeek:网络流、TLS/JA3、DNS、SSH 会话
- nginx:Web 探测、漏洞利用尝试、webshell 访问
- Suricata:基于同一流量的 IDS 告警
- Detections:Elastic 检测规则与威胁情报指标匹配
评估机制
双层评分体系
- 客观题层(54 题):单事实问题,由代码确定性评分(精确匹配/多选题/集合 F1/布尔/排序),无 LLM 参与,完全可复现,测试代理的数据检索能力。
- 任务层(5 项调查):开放式调查,由 LLM 裁判按 100 分制评分,仅认可代理通过自身查询支持的主张,测试跨源关联和推理能力。
任务评分标准:证据召回 35 分、关联性 25 分、结论准确性 25 分、响应克制 15 分。问题包含负面/误报项(良性 cron、健康检查、SSH 扫描噪音),过度告警会被扣分。
工具接口
代理可通过 MCP 服务器、CLI、SDK 或代理技能访问数据,参考工具面仅含 4 个只读接口:esql_query、es_search、get_mappings、list_indices。
使用方式
快速开始
bash pip install "anthropic[mcp]" httpx export ANTHROPIC_API_KEY=sk-ant-... python3 benchmark/runner/run_eval.py --tools direct
默认使用公开实时演示环境,开箱即用,无需下载数据或搭建 ES。支持 Claude 或任意 OpenAI 兼容端点,支持跨提供商裁判。
自有集群部署
bash python3 dataset/elastic/load.py --es "$YOUR_ES" --user elastic --password "$PW"
数据集位于 dataset/ 目录(NDJSON.gz 压缩格式+按案例的清单),附带 ECS 索引和组件模板。
数据完整性与防污染
- 文件完整性:通过 SHA256SUMS 校验。
- 标签-数据可审计:
verify_dataset.py离线验证已回答密钥派生的具体指标(文件路径、IP、命令字符串)确实存在于发布的数据集中,发布版本通过率达 100%。 - 答案密钥密封:正确答案、任务真相和评分标准存放在密封的
benchmark/ANSWERS.sealed中,口令已公开(防爬取而非访问控制)。 - 金丝雀 GUID:公开金丝雀可检测模型是否在训练语料中见过本仓库。
- 无工具评分:
run_eval.py --no-tools在没有 Elasticsearch 的情况下测试模型是否凭记忆作答,用于量化记忆污染程度。
基线结果参考
- LLM 裁判对模型家族的排序具有鲁棒性(不同裁判 Pearson r ≈ 0.96,无同族偏袒)。
- 自我评估会高估分数,建议使用中立裁判。
- 客观题与任务题对模型的区分度不同——部分模型检索事实能力强但在多步关联上表现不佳。
数据集访问途径
- GitHub 仓库:https://github.com/TocharianOU/secops-es-benchmark
- Hugging Face:https://huggingface.co/datasets/TocharianOU/secops-es-benchmark
- Kaggle:https://www.kaggle.com/datasets/tocharianou/secops-es-benchmark
- 实时演示环境(只读):Elasticsearch 端点 https://secops-benchmark-es.k8s.tocharian.eu ,Kibana https://secops-benchmark.k8s.tocharian.eu ,登录凭据 benchmark/benchmark
- DOI:https://doi.org/10.5281/zenodo.21770551(概念 DOI);版本 DOI 为 https://doi.org/10.5281/zenodo.21770552
许可证
- 数据:CC-BY-4.0
- 代码:Apache-2.0
- 所有活动在作者自有系统上自我授权执行,已移除机密和商业/PII 数据,真实攻击者 IP 按设计保留。
版本与路线图
当前版本 v0.1.1(5 个 Linux 案例 + 59 个评分项)。v0.2.0 计划:平等化各提供商每响应的 token 预算并增加重试退避机制、降低客观题中的提示泄漏、增加防御规避/进程注入案例、"阻断攻击"(真阴性)案例、Windows 遥测、更多横向跳转和基线多轮方差评估。




