DanDreadless/Vault1337
GitHub: DanDreadless/Vault1337
开源静态恶意软件分析平台,提供自托管环境用于存储、整理和分析多格式恶意样本并生成威胁情报。
Stars: 7 | Forks: 1

[](https://github.com/DanDreadless/Vault1337/blob/main/LICENSE) [](https://www.vault1337.com/)
[](https://x.com/DanDreadless)
Vault1337 是一个开源的静态恶意软件分析平台和仓库。它提供了一个安全的、自托管的环境,用于存储、整理和分析恶意软件样本 —— 专为安全研究人员、教育工作者和爱好者打造。
## 技术栈
| 层级 | 技术 |
|---|---|
| 后端 | Python 3 / Django 5.2 / Django REST Framework |
| 认证 | JWT (djangorestframework-simplejwt) |
| 前端 | React 19 / TypeScript / Vite 6 / Tailwind CSS 4 |
| 数据库 | PostgreSQL (生产环境) / SQLite (开发环境) |
| 生产环境 | Gunicorn + NGINX (运行于 Raspberry Pi 5) |
| 容器 | Docker — `vault1337/vault1337:latest` |
## 功能
- 通过文件或 URL 上传样本,或通过 SHA256 哈希直接从 **VirusTotal** 或 **MalwareBazaar** 下载
- **20 多个静态分析工具**,按文件类型分组(PE, ELF, Mach-O, APK, .NET, 文档, 压缩包, 电子邮件, 图像):
- **通用**:字符串 (UTF-8/ASCII/Wide/Latin-1)、十六进制查看器、IOC 提取器、YARA、ExifTool
- **Windows PE**:LIEF 解析器(头、导入、导出、熵、签名)、PE 文件(可疑导入、加壳检测、编译时间戳异常、反虚拟机字符串扫描)、反汇编器 (Capstone x86/x64/ARM)
- **Linux ELF**:LIEF 解析器(ELF 头、节、符号、可疑符号、加壳检测、段、二进制信息)、反汇编器
- **macOS Mach-O**:Mach-O 工具(头、加载命令、导入库、导出、符号、节、代码签名、权限、加密段)
- **Android APK**:通过 androguard 的 APK 工具(清单、组件、Intent、签名证书、DEX 字符串、嵌入式 URL、可疑权限和 API 使用)
- **脚本 & .NET**:通过 dnfile 的 .NET 分析(程序集信息、类型/方法定义、字符串、导入、资源)
- **文档**:PDF 解析器(元数据、内容、URL、JavaScript、嵌入式文件、页面渲染)、OLETools (OLEID, OLEMETA, OLEDUMP, OLEVBA, RTFOBJ, OLEOBJ)
- **压缩包**:Zip 提取器 (ZIP / 7z,支持密码)
- **电子邮件**:邮件解析器(头、正文、附件、URL)
- **图像**:图像查看器(通过 data URI 内联渲染)
- **MITRE ATT&CK 映射** —— 扫描分析结果和 IOC 类型以查找技术指标;结果以战术颜色的徽章显示,并带有指向 MITRE 的链接,按样本持久化保存
- **STIX 2.1 导出** —— 通过 [stix2](https://github.com/oasis-open/cti-python-stix2) 库将任何样本(包含所有 IOC)或从 IOC 页面批量选择的 IOC 导出为 STIX 2.1 包
- **YARA 规则** —— 通过内置编辑器创建、编辑和运行规则;默认不包含规则
- **IOC 追踪** —— 提取和管理 13 种 IOC 类型,包括持久化产物(Win Run 键、计划任务、Linux cron、systemd units、macOS LaunchAgents);从 IOC 页面批量导出到 STIX 或批量删除
- **IOC 自动富化** —— 新提取的 IP 和域名会在后台线程中自动查询 VirusTotal 和 AbuseIPDB;自动设置真/假阳性状态,并支持手动覆盖
- **IP & 域名情报** —— 为 [IP 检查](https://www.vault1337.com/docs.html#ip) (AbuseIPDB, Spur, Shodan, VirusTotal) 和 [域名检查](https://www.vault1337.com/docs.html#ip) (VirusTotal, WHOIS, passive DNS) 提供带有裁决横幅的结构化报告卡
- **解码器** —— 在浏览器中进行 Base64、十六进制、URL、ROT13 和 XOR 解码,无需上传样本
- **样本报告** —— 聚合哈希、VT 数据、IOC 和标签的结构化 JSON (`GET /api/v1/files/{id}/report/`)
- **PDF 报告导出** —— 从样本详情页一键导出 A4 PDF,包含哈希、VT 情报、已确认的 IOC 和分析师笔记;完全在浏览器中生成,无需额外的 API 调用
- **VirusTotal 富化** —— 上传时自动执行;随时通过 VT Enrich 操作刷新
- 基于标签的组织和全文搜索
- JWT 认证的 REST API,文档位于 `/api/v1/docs/` (OpenAPI/Swagger)
- 用于所有第三方集成的 API 密钥管理
## 快速开始 (Docker — 单容器)
用于使用 SQLite 的快速演示。容器停止时数据不会持久化。
```
docker run -p 8000:8000 \
-e SECRET_KEY=change-me-to-something-random \
-e DEBUG=True \
vault1337/vault1337:latest
```
打开 `http://localhost:8000` 并使用默认凭据登录:
```
Username: admin
Password: changeme123
```
## 生产环境 (Docker Compose + PostgreSQL)
Docker Compose 使用 PostgreSQL 数据库以及用于样本和 YARA 规则的持久化卷来设置 Vault1337。
**1. 克隆仓库**
```
git clone https://github.com/DanDreadless/Vault1337.git
cd Vault1337/Docker
```
**2. 配置环境**
`Docker/.env` 文件是唯一的配置来源。打开它并至少设置:
| 变量 | 描述 |
|---|---|
| `SECRET_KEY` | 长随机字符串 — 使用 `openssl rand -hex 50` 生成 |
| `POSTGRES_PASSWORD` | 数据库密码 |
| `DJANGO_SUPERUSER_PASSWORD` | 初始管理员密码 |
| `ALLOWED_HOSTS` | 您的服务器主机名或 IP |
API 密钥是可选的,但可以解锁 VirusTotal、MalwareBazaar、AbuseIPDB、Spur 和 Shodan 集成。
**3. 启动堆栈**
```
docker compose up -d
```
打开 `http://localhost:8000` (或您配置的 `HOST_PORT`)。
停止:
```
docker compose down
```
停止并清除所有数据(包括数据库):
```
docker compose down -v
```
## 本地开发
需要 Python 3.12+、Node.js 22+ 和(可选)PostgreSQL。
**1. 克隆并设置 Python 环境**
```
git clone https://github.com/DanDreadless/Vault1337.git
cd Vault1337
python3 -m venv env
source env/bin/activate # Windows: env\Scripts\activate
pip install -r requirements.txt
```
**2. 配置环境**
复制 Docker 环境模板并根据本地用途进行编辑:
```
cp Docker/.env .env
```
设置 `SECRET_KEY` 和 `DEBUG=True`。将 `DATABASE_URL` 留空以使用 SQLite,或将其指向本地 PostgreSQL 实例。
**3. 运行迁移并创建超级用户**
```
python manage.py migrate
python manage.py createsuperuser
```
**4. 启动 Django API**
```
python manage.py runserver
```
**5. 启动 React 前端**(在第二个终端中)
```
cd frontend
npm install
npm run dev
```
打开 `http://localhost:5173`。Vite 开发服务器将 `/api/` 请求代理到端口 8000 上的 Django。
## API 密钥
通过 Web UI 在 `/admin/keys/` 添加 API 密钥(需要员工登录):
- [VT_KEY](https://www.virustotal.com/) — VirusTotal
- [MALWARE_BAZAAR_KEY](https://bazaar.abuse.ch/api/) — Malware Bazaar
- [ABUSEIPDB_KEY](https://www.abuseipdb.com/api.html) — AbuseIPDB
- [SPUR_KEY](https://spur.us/context-api/) — Spur
- [SHODAN_KEY](https://account.shodan.io/) — Shodan
## 文档
完整的安装说明可在 [vault1337.com](https://www.vault1337.com) 获取。
## 许可证
本项目采用 **GNU Affero General Public License (AGPL-3.0)** 许可。这确保了:
- 只要您遵守 AGPL-3.0 的条款,您就可以自由使用、修改和共享本软件。
- 如果您将本软件部署在服务器上,您必须根据相同的许可证向您的用户提供源代码,包括任何修改。
AGPL-3.0 许可证的全文可在 [LICENSE](LICENSE) 文件中找到。
## 商业用途
Vault1337 是开源软件,但我们意识到企业可能希望在不遵守 AGPL 严格的 Copyleft 要求的情况下使用它。为了适应此类用例,提供**商业许可证**。
### 商业许可证的权益
1. 在专有环境中使用 Vault1337,而无需开源您的修改。
2. 支持项目的持续开发和维护。
### 如何购买
通过 **LinkedIn** 联系我:[www.linkedin.com/in/dan-pickering](https://www.linkedin.com/in/dan-pickering)
## 支持项目
即使您不需要商业许可证,也可以考虑通过捐赠或赞助来支持该项目。您的贡献有助于保持 Vault1337 对开源社区免费。
感谢您使用 Vault1337!
标签:AD攻击面, APK分析, Ask搜索, DAST, Django, Docker, ELF分析, IOC提取, Mach-O分析, PE分析, Python, React, Syscalls, TCP/IP协议栈, TypeScript, VirusTotal, Wayback Machine, YARA, 云安全监控, 云资产可视化, 云资产清单, 反汇编, 威胁情报, 安全工具集, 安全插件, 安全防御评估, 开发者工具, 开源, 恶意软件分析, 恶意软件存储库, 文件哈希查询, 无后门, 样本管理, 测试用例, 网络安全平台, 自托管, 请求拦截, 负责任AI, 逆向工具, 逆向工程, 静态分析