alf5813/obfusguard
GitHub: alf5813/obfusguard
静态PE恶意软件分析引擎,融合熵值分析、ML字节分类、YARA规则匹配和IOC提取等多层信号,无需执行样本即可给出带有完整推理过程和威胁归类的可解释判定结果。
Stars: 0 | Forks: 0
# ObfusGuard
**静态 PE 恶意软件分析引擎 — 无需执行即可给出可解释的判定结果。**
ObfusGuard 可分析 Windows PE 文件(EXE、DLL),并返回结构化的判定结果,该结果融合了熵值映射、基于机器学习的字节分布分类、加壳检测、基于 YARA 的 IOC 丰富度以及基于规则的评分引擎。全程无需执行,无需沙箱,文件也不会离开您的环境。
在包含勒索软件、RAT、窃密木马、投放器和加壳恶意软件的 1150 个验证文件语料库中,**检测准确率达到了 96%**。
→ **在线演示:** [obfusguard.com](https://www.obfusguard.com)
→ **API 访问:** 请通过 support@obfusguard.com 申请密钥
## ObfusGuard 解决的问题
您的 EDR 标记了一个文件。然后呢?
在您能够升级响应、引爆它或忽略它之前——您需要知道面对的是什么。大多数静态分析工具只返回一个分数或一次签名匹配。而 ObfusGuard 返回的是一个**带有推理过程的判定结果**:哪些信号被触发了,为什么它们很重要,以及文件结构告诉了您关于其意图的什么信息。
这就是 ObfusGuard 填补的分类差距——即在检测与决策之间的那个关键时刻。
## 判定结果示例
### 恶意软件 — QBot 投放器 (`droppers_1_qbot.dll`)
**判定结果:** `高风险 — 疑似加载器 / 投放器`
**风险评分:** 100
**原因:** 检测到投放器行为 — 可疑的网络联系
```
{
"filename": "droppers_1_qbot.dll",
"verdict": "High risk: strong malicious indicators present — YARA high match. Installer-like layout detected, but risk NOT softened. ML suggests Unknown (75.0%), but this is overridden by stronger signals.",
"score_result": {
"level": "HIGH",
"threat_class": "Likely Loader / Dropper",
"threat_reason": "Dropper behavior detected — suspicious network contact",
"top_class": "Unknown",
"top_percent": 75.0
},
"badges": [
"1 high-entropy section(s)",
"4 suspicious string(s)",
"IOCs detected",
"YARA high: 1",
"Anomalies detected",
"Installer layout",
"Bootstrapper/Downloader installer",
"Installer prob: 63%"
],
"yara_hits": [
{
"rule": "OG_Shellcode_PEB_Walk_x86",
"severity": "high",
"meta": {
"description": "x86 PEB walking to resolve kernel32 base — classic shellcode technique",
"mitre_technique": "T1106"
}
},
{
"rule": "OG_Suspicious_Overlay",
"severity": "medium",
"meta": {
"description": "Detects large opaque overlay appended to a PE file",
"mitre_technique": "T1027"
}
}
],
"ioc_count": 11,
"anomaly_count": 6,
"duration_ms": 9272
}
```

### 正常文件 — SpotifySetup.exe
**判定结果:** `低风险 — 合法安装程序`
**风险评分:** 35
**原因:** 已签名的安装程序 — 发行商:Spotify AB
```
{
"filename": "SpotifySetup.exe",
"verdict": "Low risk: packed indicators detected. No network/persistence IOCs. Consider unpacking for deeper inspection.",
"score_result": {
"level": "LOW",
"threat_class": "Legitimate Installer",
"threat_reason": "Signed installer — publisher: Spotify AB",
"top_class": "Unclassified",
"top_percent": 75.0
},
"badges": [
"3 flagged API(s)",
"25 suspicious string(s)",
"IOCs detected",
"YARA medium: 1",
"Anomalies detected",
"Installer layout",
"Bootstrapper/Downloader installer",
"Installer prob: 100%",
"Digitally signed",
"Publisher: Spotify AB",
"Packer indicators"
],
"ioc_count": 31,
"anomaly_count": 16,
"duration_ms": 24331
}
```

具有相同的表面信号——安装程序布局、IOC、异常——但 ObfusGuard 能够正确地将它们区分开来。QBot 投放器由于命中了经 YARA 确认的 shellcode 模式和可疑的附加数据而被判定为 HIGH(高风险)。Spotify 安装程序则凭借发行商信任度、签名验证以及正常的 ML 质量而保持为 LOW(低风险)。
## 工作原理
ObfusGuard 将五个独立的分析层融合为一个判定结果:
**1. 熵值映射器**
针对每个节区和滑动窗口的熵值分析。利用卡方统计和 z-score 异常值检测,识别加壳区域、高熵附加数据以及字节分布异常。
**2. ML 字节分布分类器**
将文件分类为:`正常 / 已压缩 / 已加密 / 已混淆 / 已加壳 / 未知`。在包含大量已知样本的语料库上训练而成。ML 输出只是众多信号之一——它可以被更强的结构性证据所覆盖。
**3. YARA 引擎**
包含 19 个规则文件中的 122 条规则,涵盖了 shellcode 模式、加壳签名、投放器行为、网络 IOC、反调试技术以及映射到 MITRE ATT&CK 的威胁家族。所有规则都包含 PE/ELF 幻数守护,以防止在非 PE 内容上发生误报。
**4. IOC 提取器**
无需执行即可从 PE 中提取网络指标、可疑的 API 导入、注册表项和行为字符串。
**5. 基于规则的判定引擎**
一个顺序评分引擎,通过加权突变规则、发行商信任门控、加壳规避路径和 ML 质量门控融合所有信号。返回最终评分(0–100)、判定标签、威胁类别以及完整的推理追踪记录。
## 关键设计决策
**无执行过程。** ObfusGuard 纯粹基于静态分析。文件永远不会被运行、引爆或发送到外部服务。
**无云依赖。** 作为本地 Docker 镜像部署。文件永远不会离开您的环境。适用于隔离网络部署、受监管行业以及注重隐私的工作流程。
**可解释的判定结果。** 每个判定结果都包含被触发的信号、匹配的 YARA 规则、ML 分类以及评分追踪记录。分析师不仅能理解结论——还能理解其背后的证据。
**判定优于评分。** ObfusGuard 不会仅仅返回一个原始数字并将解释工作留给分析师。它返回一个判定标签(`HIGH / MEDIUM / LOW`)、一个威胁类别(`疑似加载器 / 投放器`、`合法安装程序` 等)以及一个供人阅读的原因。评分只是辅助证据。
## 部署
ObfusGuard 作为本地 Docker 镜像交付,带有 Flask Web UI 和 REST API。
```
docker pull obfusguard/engine
docker run -p 8080:8080 obfusguard/engine
```
完整部署文档可在 [obfusguard.com](https://www.obfusguard.com) 获取。
## API
```
curl -X POST "https://www.obfusguard.com/api/analyze" \
-H "X-API-Key: YOUR_API_KEY" \
-F "file=@/path/to/sample.exe"
```
**响应字段:**
| 字段 | 描述 |
|---|---|
| `verdict` | 供人阅读的判定字符串 |
| `score_result.level` | `HIGH` / `MEDIUM` / `LOW` |
| `score_result.threat_class` | 威胁分类标签 |
| `score_result.threat_reason` | 判定的主要原因 |
| `yara_hits` | 匹配的 YARA 规则(附有 MITRE 映射) |
| `ioc_indicators` | 提取的网络和行为 IOC |
| `badges` | 摘要信号标签 |
| `anomaly_breakdown` | 熵值和卡方异常详情 |
| `ml_scores` | 各类别的 ML 概率细分 |
| `duration_ms` | 分析时间(毫秒) |
请在 [obfusguard.com](https://www.obfusguard.com) 申请试用 API 密钥。
## 基准测试
| 类别 | 准确率 |
|---|---|
| 勒索软件 | 高 |
| RAT | 高 |
| 窃密木马 | 高 |
| 投放器 | 高 |
| 加壳恶意软件 | 高 |
| 正常安装程序 | 高 |
| **总体** | **在 1150 个文件中准确率为 96%** |
基准测试方法:在精选的已知标签样本语料库上进行单次分析。没有任何样本被用于训练。结果反映了截至 2026 年 5 月生产引擎的性能。
## 已知局限性
ObfusGuard 专为 Windows PE 文件(EXE、DLL)优化。它不分析脚本、文档或非 PE 格式的文件。它不执行动态分析或行为检测。零信号样本——即没有结构性指标的文件——对于任何纯静态分析引擎来说都存在一个天然的上限。需要解包才能提取有意义信号的文件,如果在没有解包步骤的情况下,可能会产生较低置信度的判定结果。
这些不是 Bug。它们是纯静态分析的客观限制,了解这些有助于分析师恰当地使用 ObfusGuard。
## 使用场景
- **DFIR 分类:** 在升级响应或引爆之前,分析在事件响应期间恢复的可疑 PE 文件。
- **SOC 自动化:** 将 API 集成到警报丰富流水线中,以将静态判定上下文添加到 EDR 警报中。
- **取证调查:** 将静态 PE 分析添加到设备提取工作流程中,而无需将证据发送到云端。
- **检测工程:** 利用判定追踪记录和 YARA 匹配结果来了解信号覆盖率并调整检测逻辑。
- **安全平台集成:** 通过 REST API 将 ObfusGuard 作为静态分析层嵌入到 XDR、SIEM 或 SOAR 流水线中。
## 关于
ObfusGuard 是一个独立项目。
如需 API 访问、集成咨询或授权,请联系 support@obfusguard.com
*ObfusGuard 是专有软件。此存储库仅包含公开文档。保留所有权利。*
标签:Apex, Conpot, DNS信息、DNS暴力破解, DNS 解析, EDR, IOC提取, OpenCanary, PE文件分析, QBot检测, Windows安全, YARA规则, 二进制分析, 云安全运维, 勒索软件检测, 可解释AI, 威胁情报, 安全API, 开发者工具, 打包器检测, 木马检测, 机器学习, 熵值映射, 网络信息收集, 网络安全, 脆弱性评估, 请求拦截, 逆向工具, 隐私保护, 静态恶意软件分析