Hruday1004/soc-malware-analyzer
GitHub: Hruday1004/soc-malware-analyzer
一款基于浏览器的无后端恶意软件静态分析工具,提供文件哈希计算、熵值分析、伪装检测、MITRE ATT&CK 映射及可选的 AI 威胁判定能力。
Stars: 0 | Forks: 0
# 🛡️ SOC Malware Analyzer





**一款专为 SOC 分析师和网络安全学生打造的专业、基于浏览器的恶意软件分析工具。**
[🔍 在线演示](https://hruday1004.github.io/soc-malware-analyzer) | [📋 报告 Bug](https://github.com/Hruday1004/soc-malware-analyzer/issues) | [⭐ 为此仓库点赞](https://github.com/Hruday1004/soc-malware-analyzer)
## 📌 概述
**SOC Malware Analyzer** 是一个单文件的客户端威胁分析工具,可以直接在浏览器中对任何文件执行专业级的静态分析。任何文件都不会被上传到服务器。所有操作均通过 Web Crypto API、FileReader API 在本地运行,并可选择使用 Anthropic Claude API 提供 AI 驱动的 SOC 判定。
本工具作为一个个人网络安全作品集项目开发,展示了真实安全运营中心 (SOC) 中使用的核心技能——文件分类、哈希分析、熵值检测、伪装识别以及 MITRE ATT&CK TTP 映射。
## ✨ 功能
### 🔬 静态分析引擎
- **Magic Byte 检测** — 无论文件扩展名是什么,都能从二进制文件头识别真实的文件类型(支持 18+ 种格式)
- **加密哈希** — 使用浏览器的 Web Crypto API 生成真实的 SHA-256 和 SHA-1 哈希
- **香农熵分析** — 检测加密、加壳或混淆的内容(评分范围 0–8 bits/byte)
- **可疑字符串提取** — 扫描 30 多种与恶意软件相关的模式,包括 API 调用、代码混淆和 C2 指标
### 🎭 伪装与冒充检测
- **RTLO 攻击检测** — 捕捉 Right-to-Left Override 字符的文件名欺骗手段
- **双重扩展名检测** — 标记如 `invoice.pdf.exe` 形式的文件
- **Magic Byte 与扩展名不匹配检测** — 检测文件内容与其声明的扩展名不符的情况
- **系统文件冒充检测** — 识别模拟 `svchost.exe`、`lsass.exe` 等的文件
- **并排比较** — 上传可疑文件 + 原始文件,对比 SHA-256、大小和熵值
### 🛡️ MITRE ATT&CK 映射
- 自动将检测到的模式映射到 **22 种 MITRE ATT&CK 技术**
- 可点击的 TTP ID 直接链接到 MITRE 知识库
- 涵盖战术:Execution、Persistence、Defense Evasion、Credential Access、C2、Impact
### 🌐 网络 IOC 提取
- 嵌入式 URL 提取
- IP 地址提取(带有私有地址范围过滤)
- 可疑域名提取
- Windows 注册表项提取
- 一键链接至 **VirusTotal**、**Hybrid-Analysis** 和 **MalwareBazaar**
### 🤖 AI 驱动的 SOC 判定 *(可选)*
- 由 Anthropic API 提供的 **Claude (claude-sonnet-4-6)** 驱动
- 返回结构化的威胁判定:威胁级别、风险评分、置信度百分比、建议操作
- 列出安全指标与可疑指标对比
- 生成专业的分析师笔记和 ATT&CK 摘要
### 📤 导出选项
- **JSON 报告** — 完整的机器可读分析输出
- **TXT 摘要** — 人类可读的 SOC 事件报告
- **IOC 列表** — 以纯文本形式导出所有哈希、URL、IP、域名
## 🖼️ 工具预览
```
┌─────────────────────────────────────────────────────────┐
│ SOC ANALYST TOOL v3.0 │
│ Malware Analyzer │
│ Static · Entropy · Spoof · MITRE · IOC · AI Verdict │
├─────────────────────────────────────────────────────────┤
│ ANTHROPIC API KEY [ sk-ant-api03-.............. ] │
├─────────────────────────────────────────────────────────┤
│ 📂 Click here to select suspect file │
│ ☑ Compare with known-good original file │
│ ✅ Click here to select original / trusted file │
├─────────────────────────────────────────────────────────┤
│ 🔍 RUN FULL THREAT ANALYSIS │
└─────────────────────────────────────────────────────────┘
```
### 结果示例 — 检测到伪装文件
```
╔══════════════════════════════════════════════════════════╗
║ ☠ QUARANTINE ║
║ LIKELY MALICIOUS (type spoofing) ║
║ [ 82 ] ← Risk Score ║
║ AI Confidence: 95% ████████████████░░░ ║
╠══════════════════════════════════════════════════════════╣
║ 🎭 SPOOF / IMPERSONATION DETECTED — Score: 75/100 ║
║ ⚠ Magic bytes show PE/EXE inside .pdf file ║
║ ⚠ Hash does NOT match original ║
╠══════════════════════════════════════════════════════════╣
║ Suspicious Patterns: 12 │ MITRE TTPs: 8 │ IOCs: 5 ║
╠══════════════════════════════════════════════════════════╣
║ 📄 File Info │ 🔤 Strings │ 🛡 MITRE │ 🤖 AI │ 📋 Steps ║
╚══════════════════════════════════════════════════════════╝
```
### MITRE ATT&CK 映射示例
| TTP ID | 战术 | 技术 | 触发条件 |
|---|---|---|---|
| T1059.001 | `Execution` | PowerShell | PowerShell 调用 |
| T1055 | `Defense Evasion` | 进程注入 | CreateRemoteThread |
| T1003 | `Credential Access` | 操作系统凭据转储 | Mimikatz |
| T1486 | `Impact` | 为影响而加密数据 | CryptEncrypt API |
| T1490 | `Impact` | 抑制系统恢复 | vssadmin delete |
| T1547.001 | `Persistence` | 注册表 Run 键 | Autorun 注册表项 |
### 伪装对比表
| 属性 | 可疑文件 | 原始文件 |
|---|---|---|
| 文件名 | `invoice.pdf` | `invoice.pdf` |
| 扩展名 | `.pdf` | `.pdf` |
| 文件大小 | **570 B** ❌ | 355 B |
| SHA-256 | **a9f5e21e…** ❌ | 53027dc7… |
| 真实类型 | **PE/EXE (MZ)** ❌ | PDF 文档 |
| 熵值 | **7.976** 🔴 | 4.970 ✅ |
## 🚀 快速开始
### 选项 1 — 使用在线演示
访问:**[https://hruday1004.github.io/soc-malware-analyzer](https://hruday1004.github.io/soc-malware-analyzer)**
无需安装。在任何现代浏览器中打开即可。
### 选项 2 — 在本地运行
```
# Clone 仓库
git clone https://github.com/Hruday1004/soc-malware-analyzer.git
# 进入文件夹
cd soc-malware-analyzer
# 在浏览器中打开(无需 server)
# 只需双击 index.html 或:
start index.html # Windows
open index.html # macOS
xdg-open index.html # Linux
```
## 🔑 API Key 设置(可选)
该工具在没有 API Key 的情况下也可完全正常运行。AI 判定功能需要 Anthropic API Key。
1. 访问 [console.anthropic.com](https://console.anthropic.com)
2. 登录 → API Keys → Create Key
3. 复制 Key (`sk-ant-api03-...`)
4. 将其粘贴到工具顶部的 **API Key 字段** 中
5. 添加账单额度(最低 5 美元)以启用 API 调用
## 🧪 如何测试
`/test-files` 文件夹中包含了两个测试文件:
| 文件 | 类型 | 用途 |
|---|---|---|
| `original_report.pdf` | 干净的 PDF | 已知安全的原始文件 |
| `original_report_SPOOF.pdf` | 伪装成 PDF 的 EXE | 伪装测试 — `.pdf` 扩展名内包含 MZ 文件头 |
**测试步骤:**
1. 将 `original_report_SPOOF.pdf` 作为 **可疑文件** 上传
2. 勾选 **“Compare with known-good original file”**
3. 将 `original_report.pdf` 作为 **原始文件** 上传
4. 点击 **Run Full Threat Analysis**
5. 预期结果:
- 🔴 高风险 判定
- Magic bytes:在 `.pdf` 内检测到 `Windows Executable (MZ header)`
- 检测到 SHA-256 不匹配
- 可疑字符串:PowerShell、CreateRemoteThread、Mimikatz、C2 IP
## 🔍 分析流水线
```
Step 1 → File metadata & structure
Step 2 → Magic byte detection & type verification
Step 3 → Cryptographic hashing (SHA-256, SHA-1)
Step 4 → Shannon entropy analysis
Step 5 → String extraction & IOC scanning (30 patterns)
Step 6 → Spoof / impersonation detection
Step 7 → MITRE ATT&CK TTP mapping
Step 8 → Risk scoring & verdict (0–100)
Step 9 → AI SOC analyst verdict (Claude) [optional]
```
## 📊 风险评分逻辑
| 评分 | 威胁级别 | 操作 |
|---|---|---|
| 0 – 19 | ✅ 可能安全 | ALLOW |
| 20 – 44 | ⚠️ 可疑 | INVESTIGATE |
| 45 – 69 | 🔴 高风险 | INVESTIGATE / BLOCK |
| 70 – 100 | ☠️ 可能是恶意的 | QUARANTINE / BLOCK |
**分数计算基于:**
- 文件扩展名风险权重
- Magic Byte 与扩展名不匹配 (+30)
- 双重扩展名 (+25)
- RTLO 攻击 (+30)
- 熵值水平 (+10 到 +20)
- 可疑模式数量 (每个模式 +5,最高 30)
- 网络 IOC 数量
- 伪装评分贡献
- 系统文件冒充
## 🛠️ 技术栈
| 技术 | 用途 |
|---|---|
| HTML5 / CSS3 | 带有 CSS 变量的单文件 UI |
| Vanilla JavaScript | 零依赖,无框架 |
| Web Crypto API | 真实的 SHA-256 / SHA-1 哈希计算 |
| FileReader API | 本地文件读取,不上传任何内容 |
| Anthropic Claude API | AI 驱动的 SOC 判定(可选) |
| MITRE ATT&CK Framework | TTP 映射和链接 |
## 📁 项目结构
```
soc-malware-analyzer/
│
├── index.html # Main tool (entire app in one file)
├── README.md # This file
├── LICENSE # MIT License
│
└── test-files/
├── original_report.pdf # Clean test file
└── original_report_SPOOF.pdf # Spoof test file (EXE in PDF)
```
## 🔒 隐私与安全
- **零数据收集** — 无分析、无追踪、无 cookie
- **无文件上传** — 使用 FileReader API 在本地读取文件
- **无后端** — 纯客户端应用程序
- **API Key 安全** — Key 仅存在于浏览器内存中,关闭标签页即清除
- **开源** — 完整的源代码可见且可审计
## 🎯 适用场景
- **SOC 分析师** — 对可疑的电子邮件附件或下载内容进行快速分类
- **网络安全学生** — 动手学习文件分析技术
- **事件响应人员** — 在沙箱引爆前进行初步分析
- **CTF 选手** — 对挑战文件进行快速静态分析
- **安全意识教育** — 安全地演示钓鱼/伪装技术
## 🗺️ 路线图
- [ ] PE 文件头深度解析(导入、导出、节区)
- [ ] 在浏览器中进行 YARA 规则匹配
- [ ] 集成 VirusTotal API 以获取实时信誉
- [ ] PDF 结构分析(嵌入式 JavaScript、启动操作)
- [ ] 批量文件分析(同时处理多个文件)
- [ ] 深色/浅色主题切换
- [ ] 分析历史记录(本地存储)
## 👨💻 作者
**Makam Guru Hruday (Hruday)**
网络安全 B.Tech — GITAM University, Bangalore (2023–2027)
[](https://github.com/Hruday1004)
[](https://linkedin.com/in/hrudaylu)
## 📄 许可证
该项目基于 **MIT License** 授权 — 有关详细信息,请参阅 [LICENSE](LICENSE) 文件。标签:DAST, DNS 反向解析, PB级数据处理, 云安全监控, 前端工具, 后端开发, 哈希计算, 安全运维, 恶意软件分析, 熵分析, 网络信息收集, 静态分析