drkemp187/evadelint
GitHub: drkemp187/evadelint
EvadeLint 是一款对抗性 Sigma 规则静态分析工具,通过评估检测规则抵御攻击者规避的能力来为规则评分并给出加固建议。
Stars: 0 | Forks: 0
# EvadeLint
**对抗性 Sigma linter —— 根据攻击者规避检测规则的难易程度对其进行评分。**
大多数 Sigma 工具仅检查规则是否*格式良好*(语法有效、映射到 ATT&CK、无重复)。EvadeLint 提出的是攻击者才会关心的问题:
EvadeLint 会对您的 Sigma 检测规则进行静态分析,查找源自已发布、有记录的攻击者技术(MITRE ATT&CK Defense Evasion、LOLBAS、已知的混淆方法)的**规避弱点**,并为每个规则提供一个**规避抵抗力评分 (0–100)**,以及具体、可操作的强化建议。
它是一款**防御工具**:旨在帮助蓝队和检测工程师编写出足以抵御有预谋的对手的规则。它仅执行静态分析——绝不执行任何操作或攻击任何系统。
## EvadeLint 的不同之处
| 现有工具 | EvadeLint |
|----------------|-----------|
| “此规则格式是否良好?”(质量) | “攻击者能否轻易绕过它?”(**健壮性**) |
| 检查正确性 | 检查**规避抵抗力** |
| 映射到 ATT&CK 以衡量覆盖范围 | 将弱点映射到 ATT&CK **规避子技术** |
EvadeLint 是对 `sigmalint` 等质量 linter 缺失的对抗性补充。
## 它能检测什么
- **脆弱的字符串匹配**,攻击者可以轻易进行混淆(例如 `whoami` → `who^ami`, `w"h"oami`)
- **大小写敏感漏洞**,可被别名替换或大小写篡改技巧绕过
- **硬编码路径**,通过将二进制文件复制到其他位置即可绕过(LOLBAS 重定位)
- **完整路径进程匹配**,通过重命名二进制文件即可使其失效
- **缺少锚定**,导致填充 / 空白字符注入能够蒙混过关
- **单一指标规则**,缺乏关联性,很容易被从单一维度规避
- ……以及更多内容(请参阅 `evadelint/rules/`)
## 快速开始
```
python3 -m evadelint scan examples/whoami_recon.yml
python3 -m evadelint scan examples/ --format json
```
## 示例输出
```
examples/whoami_recon.yml
Evasion-Resistance Score: 34/100 (WEAK)
[HIGH] Brittle CommandLine substring 'whoami'
An attacker can evade with: who^ami, w"h"oami, set c=whoami&&%c%
ATT&CK: T1140 (Deobfuscate), T1027 (Obfuscated Files or Info)
Fix: match on parent/child process + multiple independent indicators,
not a single obfuscatable substring.
```
## 许可证
MIT
标签:DNS 反向解析, DNS 解析, Python, Sigma规则, 无后门, 目标导入, 私有化部署, 逆向工具, 错误基检测, 防御规避, 静态代码分析