egrexsec/DetLab-DAC
GitHub: egrexsec/DetLab-DAC
文档优先的检测工程工作台,用于跨多种规则语言编写、比较、发布和管理规范化检测内容。
Stars: 0 | Forks: 0
# DetLab-DAC
文档优先的检测工程平台,用于编写、比较和发布跨多种规则与查询语言的单一检测。

## 项目摘要
DetLab-DAC 将检测工程打包为一种**文档优先的工作流**。该项目不再从单一平台查询开始并丢失其余上下文,而是以规范化的检测简报为中心,并将其映射到多种实现中。
该仓库目前结合了:
- 仓库内的检测内容
- 示例和 pack
- 知识库风格的文档
- 适合静态托管的 Web 前端
- 由 GitHub 支持的创作工作台,用于将检测简报保存到仓库中
## 从这里开始
| 需求 | 前往 | 重要原因 |
| --- | --- | --- |
| 了解项目 | 本 README | 设定范围:文档优先的检测工程,而不是另一个 SIEM |
| 运行 Web 工作台 | `web/` | 创作并比较规范化检测简报 |
| 查看检测内容 | `detections/` 和 `examples/` | 了解检测思想如何打包以供重用 |
| 研究支持文档 | `knowledge/` | 将遥测假设、ATT&CK 映射和验证上下文保持在检测附近 |
| 安全贡献 | `CONTRIBUTING.md` 和 `SECURITY.md` | 保留公开安全的示例和一致的检测编写标准 |
| 跟踪方向 | `ROADMAP.md` | 了解 schema、验证和 pack 发布的发展方向 |
## 目标受众
- 检测工程师
- SOC 分析师和安全工程师
- 维护跨平台检测的安全内容作者
- 希望拥有 ATT&CK 感知、遥测感知的检测文档,而不是松散查询片段的团队
## 解决的问题
检测内容通常会变得碎片化:
- Sigma 在一个地方
- Splunk SPL 在另一个地方
- KQL 或 Elastic 查询在 notebook 或工单中
- 分类(triage)笔记完全丢失
- 遥测假设在交接过程中丢失
DetLab-DAC 将这些部分整合在一个检测简报中。
## 它是什么
- 一个文档优先的检测工程仓库
- 一个规范化检测创作工作流
- 一个用于同一检测思想的多语言比较界面
- 一个在规则逻辑旁边存储遥测假设、ATT&CK 映射、分类指导和验证笔记的地方
## 它不是什么
- 不是 SIEM 产品
- 不是通用的威胁狩猎平台
- 不是 IR 案例管理系统
- 不是实验室自动化套件
- 不能保证每个检测在每个环境中都经过生产验证
## 当前状态
**活跃的早期阶段项目。**
目前仓库中已确认的内容:
- `web/` 下的 Next.js Web 前端
- 由 GitHub 支持的检测工作台,可以渲染并保存 Markdown 工件
- 带有 frontmatter 的规范化检测工件生成
- 对 Sigma、Splunk SPL、Microsoft Sentinel KQL、Elastic EQL 和 Elastic ES|QL 的并排支持
- 用于检测、示例、知识和报告的仓库内容区域
- 一个共享的 [DetLab 检测内容规范 v1](docs/schema/detection-content-spec-v1.md) 适配器,具有源哈希和生成工件来源
- 用于 Web 副本/配置行为的基于 Node 的测试
- 覆盖每个编写的检测 YAML 文件的 Python 契约测试
## 功能
- 带有 YAML frontmatter 和 Markdown 部分的**规范化检测简报**
- 支持以下语言的**多语言实现**:
- Sigma
- Splunk SPL
- Microsoft Sentinel KQL
- Elastic EQL
- Elastic ES|QL
- 可选的额外实现插槽
- 检测 schema 中的 **ATT&CK 映射**字段
- 作为一等文档捕获的**遥测假设**
- 嵌入在工件格式中的**分类指导**和**验证笔记**
- 通过仓库支持的 Markdown 输出实现**易于 pack 发布**
- Web 工作台中由 **GitHub 支持的创作工作流**(在仓库默认值/配置中实现)
## 截图 / 演示
### 登录页面

### 检测工作台

## 架构
```
detections/ Detection content
examples/ Example packs and sample artifacts
knowledge/ Supporting documentation / authored briefs
reports/ Generated or review-oriented outputs
scripts/ Supporting repo scripts
web/ Next.js frontend and workbench
app/ Routes and pages
components/ UI components
data/ Workbench config and content helpers
tests/ Node-based tests
```
## 技术栈
- Next.js 14
- React 18
- TypeScript
- Node 内置测试运行器 (`node --test`)
- 基于 Markdown/YAML 的检测工件
- 工作台中由 GitHub API 支持的保存流程
## 快速开始
### Web 前端
```
cd web
npm install
npm run dev
```
打开 `http://localhost:3000`。
### 仓库级辅助工具
```
make help
```
## 使用方法
### 检测工作流示例
1. 定义检测行为和摘要
2. 记录遥测先决条件和字段假设
3. 映射 ATT&CK 战术/技术
4. 添加 Sigma 版本
5. 添加或比较 SPL、KQL、EQL 和 ES|QL 实现
6. 添加误报、分类指导和验证笔记
7. 将工件保存到仓库支持的目标目录中
8. 像任何其他请求拉取的内容一样将其作为 Markdown 查看
## 示例文件夹结构
```
knowledge/
detection-engineering/
detections/
examples/
packs/
web/
app/
components/
data/
tests/
```
## 项目结构
该仓库将编写的安全内容与创作界面分开:
- `detections/` 用于检测工件和相关内容
- `knowledge/` 用于检测工程文档
- `examples/` 用于面向 pack 的示例
- `web/` 用于面向用户的创作和展示层
## 测试
### Web 测试
```
cd web
npm install
npm test
npm run build
```
当前确认的测试包括:
- `tests/site-content.test.mjs`
- `tests/site-copy.test.mjs`
- `tests/workbench-config.test.mjs`
## 部署
该 Web 应用程序被构建为适合静态托管的 Next.js 站点。
典型的部署流程:
```
cd web
npm install
npm run build
npm run start
```
`npm run start` 使用 Python 的简单 HTTP 服务器提供导出的 `out/` 目录。
## 路线图
参见 [ROADMAP.md](ROADMAP.md)。
### 迈向 v0.1
- 稳定检测文档 schema
- 强化由 GitHub 支持的创作和保存流程
- 扩展示例检测 pack
- 提高各内容区域之间 README/文档的一致性
### 迈向 v1.0
- 扩充规范化检测模板和验证指导
- 加强 pack 发布和审查工作流
- 为多平台检测创作添加更多有针对性的贡献者指导
- 改进内容发现和比较 UX
## 安全
参见 [SECURITY.md](SECURITY.md)。
## 许可证
本仓库包含一个 [LICENSE](LICENSE) 文件。
标签:MITM代理, Sigma规则, 安全运营, 扫描框架, 文档管理, 目标导入, 自动化攻击, 逆向工具, 防御加固, 静态网站