NullAILab/nullai-malware-analysis-platform
GitHub: NullAILab/nullai-malware-analysis-platform
纯Python实现的静态恶意软件分析平台,通过PE头解析、字符串提取、类YARA规则匹配和熵值分析提供完整的恶意文件风险评估能力。
Stars: 0 | Forks: 0
# 恶意软件分析平台



纯 Python 静态恶意软件分析平台:PE 头解析器、ASCII/UTF-16 字符串提取器、类 YARA 规则引擎和启发式风险评分 —— 零外部依赖。
## 模块
| 模块 | 描述 |
|--------|-------------|
| `pe_parser.py` | 解析 PE/COFF 头:机器类型、节、DLL 标志、特性 |
| `strings_extractor.py` | 提取可打印字符串,按 URL/IP/shell/注入/凭证标签分类 |
| `yara_engine.py` | 类 YARA 模式匹配:十六进制、字面量、正则表达式、AND/OR/NOT 条件 |
| `analyzer.py` | 完整流程:SHA256/MD5、熵、PE、字符串、YARA → 风险评分 |
## 用法
```
from src import MalwareAnalyzer
analyzer = MalwareAnalyzer()
report = analyzer.analyze(open("sample.exe", "rb").read(), "sample.exe")
print(report.summary())
# sample.exe | SHA256: 3f4a7b2c... | 大小: 45056B | 熵: 6.82 | 风险: HIGH (70) | YARA: 3 次匹配
for indicator in report.indicators:
print(f" [!] {indicator}")
```
## 类 YARA 规则
```
from src import YaraRule, YaraString, YaraRuleSet
rule = YaraRule(
name="Suspicious_Download",
strings=[
YaraString("$ps", b"powershell", nocase=True),
YaraString("$dl", b"DownloadString", nocase=True),
],
condition=lambda m: "$ps" in m and "$dl" in m,
meta={"description": "PowerShell download cradle"},
)
```
## 运行测试
```
python -m pytest tests/ -q
```
## 许可证
MIT
标签:ASCII字符串, COFF头解析, DAST, DNS信息、DNS暴力破解, DNS 反向解析, IOC提取, IP检测, MD5, PE头解析, PE文件分析, Python安全工具, SHA256, URL检测, UTF-16字符串, YARA规则, 云安全监控, 启发式分析, 哈希计算, 威胁情报, 字符串提取, 开发者工具, 恶意软件分析, 文件特征提取, 模式匹配, 熵分析, 网络安全, 自动化资产收集, 隐私保护, 静态分析, 风险评分