Open-source self-hosted malware analysis platform for security researchers, educators, and enthusiasts.

License Python Django React Docker

About the project

What is Vault1337?

Vault1337 is a self-hosted malware analysis platform built for security researchers and analysts. It provides a secure repository for storing malware samples along with a suite of static analysis tools, all accessible through a modern React-based web interface backed by a Django REST API.

The project started as a hands-on learning exercise and has grown into a full-stack application with JWT authentication, a documented REST API, and a full container deployment stack. It runs comfortably on a Raspberry Pi 5 in production.

All sample files are stored by SHA256 hash — original filenames are never written to disk. Analysis tools run in isolated temporary contexts so file paths are never exposed to users.

Vault1337

What you get

Features

Flexible Sample Ingestion

Upload by file or URL, or pull directly from VirusTotal or MalwareBazaar by SHA256 hash.

10+ Static Analysis Tools

Strings, LIEF PE parser, Hex viewer, PDF parser, OLE tools, ExifTool, IOC extractor, YARA, Email parser, Zip extractor, QR decode.

YARA Rules Engine

Create, edit, and run YARA rules against samples using the built-in web editor.

IOC Tracking

Extract and manage indicators of compromise. Every IOC is linked back to its source sample.

IP Intelligence

Query AbuseIPDB, Spur, and Shodan from a single interface. Private/reserved IPs are rejected.

Authenticated REST API

JWT-secured API with staff/user role separation. Full OpenAPI docs at /api/v1/docs/.

Tags & Search

Tag samples with freeform labels. Full-text search across the vault with pagination.

Sample Comments

Add titled notes to any sample for team collaboration or personal analysis records.

Docker Ready

Single-command Docker run or a full Compose stack with PostgreSQL, persistent volumes, and Gunicorn.

Under the hood

Tech Stack

LayerTechnology
BackendPython 3.12 / Django 5.2 / Django REST Framework
AuthenticationJWT — djangorestframework-simplejwt
API docsdrf-spectacular (Swagger UI at /api/v1/docs/)
FrontendReact 19 / TypeScript / Vite 6 / Tailwind CSS 4
DatabasePostgreSQL (production) / SQLite (development)
ProductionGunicorn + NGINX + WhiteNoise (Raspberry Pi 5)
ContainerDocker — vault1337/vault1337:latest

Up and running in seconds

Quick Start

Pull and run the Docker image. Uses SQLite by default — data is not persisted when the container stops. For persistent storage with PostgreSQL see the Docker Compose guide.

docker run -p 8000:8000 \
  -e SECRET_KEY=change-me-to-a-long-random-string \
  -e DEBUG=True \
  vault1337/vault1337:latest

Open http://localhost:8000 and log in with admin / changeme123. Change the password immediately via the Django admin at /admin/.

Full Installation Guide

Built on the shoulders of giants

Acknowledgements

Vault1337 is made possible by a number of outstanding open-source projects and APIs.

Backend & Analysis

Frontend

Intelligence APIs

Infrastructure