A Python-based malware analysis sandbox with a web dashboard for analysing suspicious files β without executing them. Built as a cybersecurity portfolio project.
Drop any suspicious file into the dashboard and MalwareBox will:
- π Hash it β MD5, SHA-1, SHA-256 fingerprints for VirusTotal lookups
- π‘οΈ Measure entropy β high entropy (>7.2) means the file may be packed or encrypted
- π Extract strings β pulls readable text from binary files
- π© Find IOCs β hardcoded IPs, URLs, registry keys, base64 payloads
- βοΈ Monitor behaviour β syscall tracing via strace (Linux)
- π Score the risk β 0β100 risk score with detailed flags
- πΎ Save reports β JSON reports saved automatically for every scan
The web UI lets you drag & drop any file and see results instantly:
| Feature | Description |
|---|---|
| Drag & drop upload | Drop files directly onto the dashboard |
| Live progress bar | Real-time analysis progress |
| Risk score display | Colour-coded 0β100 risk rating |
| IOC panel | All indicators of compromise in one view |
| Risk flags | Plain-English explanation of every finding |
| Analysis history | All previous scans saved and accessible |
- Python 3.8+
- Windows / Linux
# 1. Clone the repo
git clone https://github.com/Lovedipsingh/Malwarebox.git
cd Malwarebox
# 2. Install dependencies
pip install flask
# 3. Launch (Windows β just double-click)
launch.bat
# 3. Launch (Linux/Mac)
python app.pyThen open http://localhost:5000 in your browser.
Malwarebox/
βββ app.py # Flask web server & API
βββ launch.bat # Windows one-click launcher
βββ setup.bat # Windows first-time setup
βββ sandbox/
β βββ static_analyzer.py # Core analysis engine
β βββ dynamic_monitor.py # Runtime syscall tracing
β βββ network_capture.py # Packet analysis
β βββ report_generator.py # JSON report output
βββ templates/
βββ index.html # Web dashboard UI
- Reads the raw file bytes
- Computes cryptographic hashes β paste into VirusTotal
- Calculates Shannon entropy β high values = likely encrypted/packed
- Extracts readable strings β finds hidden commands and paths
- Pattern-matches IOCs β IPs, URLs, registry keys, base64 blobs
- Scores risk 0β100 based on all findings
- Wraps the sample in
strace - Records every system call made during execution
- Flags dangerous calls:
execve,connect,mprotect,ptrace - Tracks child processes spawned by the sample
- Records all file system events
Always run this tool inside an isolated VM or container.
Never analyse real malware on your host machine.
- VirusTotal API integration
- YARA rule scanning
- Docker container support
- PDF report export
- MITRE ATT&CK technique tagging
MIT License β free to use and modify.
Built by Lovedip Singh
