ad4rsh2701/zense
GitHub: ad4rsh2701/zense
zense 是一个自动化恶意软件分析聚合器,通过统一脚本协调 ANY.RUN、VirusTotal、radare2 和 YARA 四个分析引擎并导出 JSON 报告。
Stars: 2 | Forks: 0
# zense

自动化恶意软件分析聚合器。
脚本 `scripts/runner.py` _协调_ 现有的分析器(ANY.RUN、VirusTotal、radare2 和 YARA),
并导出四份 JSON 报告。
## 导出内容
默认情况下,报告会导出到 `data/`:
- `data/anyrun.json`
- `data/virustotal.json`
- `data/radare2.json`
- `data/yara.json`
## 环境要求
- Python 3.12+
- `requirements.txt` 中的依赖项
- radare2 已安装并在 `PATH` 中可用(或通过 `--r2-bin` 传入“安装路径”)
- 用于 ANY.RUN 和 VirusTotal API 调用的 Internet 访问权限(理所应当)
- 在 [any.run](https://any.run/) 上传恶意软件样本后获得的 ANY.RUN UUID
- 项目根目录下的 `.env` 文件包含:
```
AR_KEY=your_anyrun_api_key
VT_KEY=your_virustotal_api_key
```
## 设置
```
python -m pip install -r requirements.txt
```
## 用法
```
python scripts\runner.py --anyrun-task-uuid
```
### 示例
使用默认输出目录 (`data/`) 运行:
```
python scripts\runner.py .\samples\test.bin --anyrun-task-uuid 00000
```
使用自定义输出目录运行:
```
python scripts\runner.py .\samples\test.bin --anyrun-task-uuid 00000 --output-dir .\data\reports
```
使用额外的 radare2 命令运行:
```
python scripts\runner.py .\samples\test.bin --anyrun-task-uuid 00000 --r2-cmd af --r2-cmd ii
```
### 测试
你可以从项目根目录运行以下命令来测试脚本。
```
python -m unittest discover -s tests -p "test_*.py"
```
## 当前限制
- ANY.RUN 集成目前仅获取**已有任务 UUID** 的报告;此 runner 不会提交新任务
- ANY.RUN 的报告是基础报告(不可直接用于动态分析)
- ANY.RUN 的文件大小限制为 **16 MB**(我是免费层小兵)
- VirusTotal 轮询被故意放慢(间隔 120 秒),因此运行可能需要几分钟。
- 输出 schema 大多是上游工具/API 的直接透传,并且可能会随着这些服务的变更而改变。
- YARA 规则是从 `data/yara-signatures/yara` 编译而来的;缺失或无效的规则文件会导致 YARA 报错或提供不准确的分析结果。
标签:DAST, Python, 云资产清单, 恶意软件分析, 无后门, 自动化分析, 跨站脚本, 逆向工具, 逆向工程