Elena6918/Evolution-of-Log-Based-Detection-Rules
GitHub: Elena6918/Evolution-of-Log-Based-Detection-Rules
这是一篇关于公共仓库中日志检测规则演进研究的配套资源库,提供数据分析 pipeline 和预处理好数据集,用于复现论文中关于检测规则随时间推移如何变化的各项分析结果。
Stars: 0 | Forks: 0
# 基于日志的检测规则的演进
本仓库是论文 [**公共仓库中基于日志的检测规则的演进**](https://arxiv.org/abs/2605.05383) 的配套资源。其中包含分析笔记本、准备好的数据集,以及用于提取规则演进语料库的数据准备 pipeline。
## 交互式演示 *(开发中)*
我们正在构建一个公开的交互式工具,用于探索规则演进数据——任何人都可以通过该工具按名称搜索检测规则、查看其修订时间线,并并排比较任意两个版本。该演示托管在 [elena6918.github.io/rule-explorer](https://elena6918.github.io/rule-explorer/),目前正在积极开发中。随着工作的推进,其功能和数据覆盖范围将会不断扩大。
最简单的开始方式是使用 Google Drive 上共享的准备好的数据。按照此路径,您可以立即重现论文中报告的结果,并在接触完整的 pipeline 之前,为您理解数据格式提供一个具体的起点。
## 快速开始
### 1. 创建 Python 环境
```
python -m venv venv
source venv/bin/activate
pip install -r requirements.txt
```
### 2. 下载准备好的数据
准备好的 pipeline 输出托管在 Google Drive 上:
**[https://drive.google.com/drive/folders/1jdDMVvuRV3cT0WwRK91-R-AHfpUxXvzU?usp=sharing](https://drive.google.com/drive/folders/1jdDMVvuRV3cT0WwRK91-R-AHfpUxXvzU?usp=sharing)**
下载这些文件夹并将它们放置在 `data_prep/` 目录下:
| Google Drive 文件夹 | 本地路径 |
|---|---|
| `build_data/` | `data_prep/build_data/` |
| `ir_data/` | `data_prep/ir_data/` |
| `align_data/` | `data_prep/align_data/` |
| `llm_data/` | `data_prep/llm_data/` |
这是推荐的设置路径。
- 这是重现论文中报告结果的最快方法。
- 它有助于您直接检查数据集和中间格式。
## 重现论文结果
所有报告的图表和表格都可以通过 `analysis/scripts/` 中的笔记本进行重现。放置好下载的四个数据文件夹后,无需重新构建数据 pipeline 即可直接运行这些笔记本。
| 笔记本 | 论文输出内容 |
|---|---|
| `dataset.ipynb` | 表 1 — 数据集概览 |
| `temporal.ipynb` | 图 2、图 3、表 2 — 时间趋势与队列 |
| `structural.ipynb` | 图 4、图 5、表 4、表 5 — 结构性规则变更 |
| `llm.ipynb` | 表 7、表 8、表 9 — 基于LLM的意图分析与验证 |
## 理解数据
准备好的数据目录对应于 pipeline 的各个连续阶段:
| 目录 | 包含内容 |
|---|---|
| `data_prep/build_data/` | 规则谱系构建输出和带版本的规则记录 |
| `data_prep/ir_data/` | 解析后的规则表示和谓词图IR |
| `data_prep/align_data/` | 成对规则对齐和轨迹摘要 |
| `data_prep/llm_data/` | Prompt 输入和收集到的 LLM 标注输出 |
对于大多数读者来说,从这些准备好的输出开始是了解数据布局和研究设计的最佳方式。
## 从规则仓库快照生成您自己的分析
如果您想从上游规则仓库的快照自行重新生成数据集,请参阅相应 pipeline 文件夹中的 README:
- [data_prep/build_src/README.md](/Users/elena/Desktop/Evolution-of-Log-Based-Detection-Rules/data_prep/build_src/README.md)
- [data_prep/ir_src/README.md](/Users/elena/Desktop/Evolution-of-Log-Based-Detection-Rules/data_prep/ir_src/README.md)
- [data_prep/align_src/README.md](/Users/elena/Desktop/Evolution-of-Log-Based-Detection-Rules/data_prep/align_src/README.md)
- [data_prep/llm_src/README.md](/Users/elena/Desktop/Evolution-of-Log-Based-Detection-Rules/data_prep/llm_src/README.md)
这些指南详细介绍了如何重新构建 pipeline 阶段、如何使用仓库快照,以及如何生成新的派生输出。
## 注意事项
- `llm_data/` 应被视为用于复现的提供数据;重新运行 LLM 标注可能不会产生完全相同的输出。
- 仓库的结构设计使得新手可以先从准备好的数据开始,然后只有在需要生成新分析时才进入 pipeline。
标签:AMSI绕过, C2, NoSQL, Python, TruffleHog, 代码分析, 公开仓库, 凭证管理, 威胁检测, 学术论文, 安全运营, 扫描框架, 搜索引擎优化, 攻击分析, 数据管道, 文本对齐, 无后门, 检测规则, 版本对比, 网络安全, 网络安全研究, 网络资产发现, 规则演化, 软件工程, 逆向工具, 配套代码, 隐私保护