Releases: chainreactors/HaE
Releases · chainreactors/HaE
Release list
HaE with Proton Engine v20260704-f1a9f7d
HaE Burp extension with Proton regex engine.
HaE with Proton + Fingers Engine v20260704-ba7e7b6
HaE with Proton + Fingers Engine
HaE with Proton Engine v20260704-a7da871
HaE Burp extension with Proton regex engine.
HaE with Proton Engine v20260704-5b6b951
HaE with Proton Engine
集成 Proton 正则匹配引擎(RE2 + Aho-Corasick 预过滤),替代原版 Java NFA / dk.brics DFA 双引擎架构。
为什么替换两个 Java 引擎?
原版 HaE 维护两个正则引擎以应对不同场景:
Java NFA (java.util.regex) |
Java DFA (dk.brics.automaton) |
Proton (RE2) | |
|---|---|---|---|
| 捕获组支持 | ✅ | ❌ 仅全匹配 | ✅ |
Format 提取 ({0}, {1}) |
✅ | ❌ | ✅ |
| ReDoS 安全 | ❌ 恶意正则可卡死 | ✅ 线性时间 | ✅ 线性时间 |
| 性能 | 基准 | 更慢(automaton 编译开销) | 比 NFA 快 4–25× |
Proton 的 RE2 引擎兼顾所有优势 — 线性时间保证(无 ReDoS)+ 完整捕获组支持。DFA 引擎的唯一价值是防 ReDoS,RE2 天然解决了这个问题。Java NFA 仅作为极简回退(native 库无法加载时使用)。
性能对比:Java NFA vs Java DFA vs Proton Native
10 条规则(AWS Key、JWT、Email、内网 IP、Password、Private Key、Shiro、GitHub PAT、Swagger、JDBC),稀疏 HTTP 响应数据:
| 数据量 | Java NFA | Java DFA | Proton | NFA/Proton | DFA/Proton |
|---|---|---|---|---|---|
| 100 行 / 9KB | 11.2ms | 178ms | 0.9ms | 12.4× | 198× |
| 500 行 / 48KB | 42.3ms | 345ms | 1.7ms | 25.4× | 207× |
| 1000 行 / 96KB | 39.3ms | 262ms | 2.2ms | 17.5× | 117× |
| 5000 行 / 484KB | 119ms | 211ms | 21.7ms | 5.5× | 9.7× |
| 1 万行 / 968KB | 188ms | 220ms | 44.2ms | 4.2× | 5.0× |
| 10 万行 / 9.7MB | 1883ms | 582ms | 354ms | 5.3× | 1.6× |
注:10 万行时 DFA 反而比 NFA 快,因为 automaton 编译的固定开销被摊薄。但 Proton 仍然是三者中最快的。
下载
| 文件 | 说明 |
|---|---|
HaE.jar |
Fat JAR — 全平台(Linux/Windows/macOS),~24MB |
HaE-linux-x86-64.jar |
独立版 — Linux amd64,~7MB |
HaE-linux-aarch64.jar |
独立版 — Linux arm64,~7MB |
HaE-win32-x86-64.jar |
独立版 — Windows amd64,~7MB |
HaE-darwin-x86-64.jar |
独立版 — macOS Intel,~7MB |
HaE-darwin-aarch64.jar |
独立版 — macOS Apple Silicon,~6.5MB |
架构
HaE Burp 插件 (Java)
└── RegularMatcher
├── 主引擎:ProtonHaEEngine (JNA → libproton-hae native)
│ ├── HaE 规则 JSON → proton template YAML(Java 侧转换)
│ ├── Scope 路由(Java 侧)
│ ├── s_regex 后过滤(Java 侧)
│ └── proton Scanner:RE2 + AC 预过滤(Go native)
└── 回退:Java NFA 正则(native 不可用时)
HaE with Proton + Fingers Engine v20260704-4020824
HaE with Proton + Fingers Engine