maxias13/snort-2-to-3-migration
GitHub: maxias13/snort-2-to-3-migration
端到端的 Snort 2 到 Snort 3 规则迁移管道,通过 22 种确定性转换和前后验证实现规则集的安全升级。
Stars: 0 | Forks: 0
# snort_2_to_3_migration
端到端迁移管道:Snort 2 `.rules` → Snort 3 `.rules`,并在两端完成验证。
由两个现有技能组合而成:
* [`snort_2_validator`](../snort_2_validator) — Snort 2 预检验证器
* [`snort_3_validator`](../snort_3_validator) — Snort 3 后检验证器
`scripts/migrate.py` 中的迁移引擎复用了 Snort 2 解析器 AST
(避免重复解析),并生成规范的 Snort 3 规则,同时确保 sticky buffer 位于
正确位置。
## 快速开始
```
SKILL=/Users/kaishin/Downloads/Py/.claude/skills/snort_2_to_3_migration
# 1. 迁移单个文件 (输出 → ./snort3_migrated/)
python3 $SKILL/scripts/migrate.py /path/to/local.rules
# 2. 迁移目录,选择输出位置,JSON 报告
python3 $SKILL/scripts/migrate.py /path/to/rules/ \
--out /Users/kaishin/Downloads/Py/20260505_120000_snort_migration/ \
--format json
# 3. HTML 并排 diff 报告
python3 $SKILL/scripts/migrate.py /path/to/local.rules --format html
```
退出代码:`0` = 迁移成功,`1` = 存在残留的 Snort 3 错误(请查阅
报告),`2` = 调用错误。
## 转换 ID
22 个确定性转换(M001..M022)。完整表格:
[`references/transform_catalogue.md`](references/transform_catalogue.md)。
## 该技能不会执行的操作
* 不负责将 `snort.conf` 转换为 `snort.lua`(需手动操作)。
* 不会将经典 HTTP 头部规则提升为 Snort 3 服务规则形式
(在没有流量上下文的情况下,端口到服务的推断是不安全的)。
* 不会重写 `byte_test` / `byte_jump`(Snort 3 保留了相同的语法)。
有关完整工作流、安全说明和重写目录,请参阅 [`SKILL.md`](SKILL.md)。
标签:AMSI绕过, AST解析, PB级数据处理, Python, SecOps, Snort 2, Snort 3, Sticky Buffers, 云安全架构, 云计算, 入侵检测系统, 后置验证, 域环境探测, 威胁检测, 安全数据湖, 安全运维, 数据验证, 无后门, 粘性缓冲区, 网络安全, 规则引擎, 规则转换, 规则迁移, 语法树, 逆向工具, 隐私保护, 预处理验证