praetorian-inc/reduce-golang-detections-skill
GitHub: praetorian-inc/reduce-golang-detections-skill
一套 Claude Code 技能,通过 PE 结构分析和迭代 A/B 测试系统性地降低 Go 二进制文件在 VirusTotal 和 EDR 上的 ML 检出率。
Stars: 16 | Forks: 5
# reduce-golang-detections-skill 技能
一个 [Claude Code](https://claude.com/claude-code) 技能,旨在通过结构分析、迭代 A/B 测试和 ML 特征向量优化,系统性地降低编译后的 Go 二进制文件在 VirusTotal 和 EDR 上的检出率。
## 这是什么
现代 EDR 对 Go 二进制文件的检测主要依赖于统计 ML 分类器(例如 Microsoft `Wacatac.B!ml`、`ML.Attribute.HighConfidence`、`MalwareX-gen`、`Evo-gen`),而不是固定的字节 YARA 规则。规避 ML 分类器与规避特征签名在本质上是不同的问题——重命名字符串和交换导入通常会使检测结果变得*更糟*,因为生成的二进制文件会进一步偏离分类器所学到的“正常”的工具链基线。
该技能针对此问题封装了一套严谨的方法论:
- **在修复之前对检测类型进行分类。** 将每次命中标记为 YARA 类型或 ML 类型。两者的修复方法不同,且不能互换。
- **每次实验只改变一个变量。** 每组 10-20 个样本,对照组和变体组在同一个 VT 上传窗口内构建——Wacatac 的重新训练周期大约为一天,因此昨天的对照组批次并不是有效的 A/B 测试。
- **在每次更改前后使用全面的 PE 结构分析器**(已包含)进行测量,并将差值与来自相同工具链的原始二进制文件进行比较。
- **伪装,而不是隐藏。** 给分类器一个关于“这是什么二进制文件?”的合理答案——模仿单一且连贯的大型 Go 项目的 gopclntab 符号指纹,其效果始终优于剥离、填充或混淆。
- **认识到不可逾越的底线。** 一旦 VirusTotal 上的检出率下降到 15-25%(即接近 ML 阈值的随机底线),进一步的结构优化通常就没什么回报了,而且 VT 并不能代表真实终端的实际情况。
## 包含内容
| 文件 | 用途 |
| --- | --- |
| `SKILL.md` | 技能本体——包含方法论、前置条件、分阶段工作流以及上述核心原则。将其加载到 Claude Code 中。 |
| `pe_structural_analyzer.py` | 独立的 Python 分析器,可提取完整的 PE 结构特征向量(节区、导入、导出、资源、gopclntab、熵等),并生成基线/差异 JSON 报告。 |
| `references/pe-structural-analyzer.md` | 如何运行分析器并解读其输出。 |
| `references/pe-structural-features.md` | 在原始构建与修改后的 Go 构建中观察到的结构特征目录,以及哪些特征实际上与检测相关。 |
| `references/experiment-categories.md` | 在实践中有效和无效的实验类别目录,包括需要避免的死胡同。 |
## 要求
- 带有 `pefile` 和 `lief` 的 Python 3(建议使用 venv;在 PEP 668 系统上,如果必须全局安装,请使用 `--break-system-packages`)。
- 一个 VirusTotal API key。
- 来自与您的目标相同工具链的原始二进制文件(例如 `GOOS=windows GOARCH=amd64 go build`),用于差异比较。
## 在 Claude Code 中使用该技能
将 `SKILL.md`、`pe_structural_analyzer.py` 和 `references/` 目录放入 Claude Code 可作为技能读取的位置,然后在您有一个高检出率的二进制文件需要降低检出率时调用该工作流。该技能将引导您完成基线收集、结构分析、假设选择和单实验 A/B 测试。
## 范围与意图
这是由 Praetorian 发布的防御性研究和授权测试工具,旨在分享有关现代基于 ML 的 EDR 分类器如何响应编译后二进制文件更改的方法论。它仅适用于您有权测试的二进制文件,且仅限于红蓝对抗、检测工程研究和工具链加固等场景。
## 许可证
Apache License 2.0 — 见 [LICENSE](LICENSE)。
标签:Claude Code, EDR对抗, Go语言, PE结构分析, 免杀技术, 暴力破解检测, 机器学习绕过, 程序破解, 逆向工具