The most transparent malware analyzer - Explainable detection with forensic-grade location tracking
Project description
๐ฅ Prometheus Community Edition v2.0.0
The Most Transparent Malware Analyzer Available
Revolutionary 6-layer malware analysis with explainable detection and forensic-grade location tracking. Every finding explained with WHY it matters and WHERE it's located.
๐ฏ What Makes Prometheus Different
Complete Transparency
Unlike black-box tools that say "malware detected, trust us," Prometheus shows you:
- โ WHAT was found (actual signatures, indicators, patterns)
- โ WHY it matters (severity, uniqueness, explanations)
- โ WHERE it's located (exact byte offsets, PE sections)
Educational Value
Every scan is a learning opportunity:
- ๐ Uniqueness ratings - Know if indicators are definitive (unique) or common
- ๐ Severity levels - Understand criticality (critical/high/medium/low)
- ๐ MITRE ATT&CK - Full TTP categorization
- ๐ Context - Learn what each indicator reveals about malware behavior
Forensic Detail
Professional-grade analysis:
- ๐ Exact byte offsets for every finding
- ๐ฌ Hex context around matches for verification
- ๐บ๏ธ Location maps showing where malware components hide
- โ Manual verification - Can confirm in any hex editor
๐ Key Features
6-Layer Detection Engine
- File Signatures - 276 format patterns with location tracking
- Behavioral Indicators - 203 malware-specific behaviors with explanations
- Exploit Patterns - 168 exploitation techniques mapped to MITRE
- PE Heuristics - 8 advanced PE structure analysis rules
- Dynamic Inference - Behavioral pattern correlation
- ML Classification - Confidence scoring based on uniqueness
Enhanced Intelligence Database
- 661 intelligence items with rich metadata
- 15 unique indicators (7.4%) - Definitive family identifiers
- 58 rare indicators (28.6%) - Family-specific markers
- 130 common indicators (64.0%) - Supporting evidence
- All items include: severity, uniqueness, confidence, explanation, MITRE ATT&CK, context
Detection Transparency
- Detection reasoning - Explains why confidence is X%
- Confidence calculation - Shows how score was computed
- Indicator classification - Rates each by uniqueness and severity
- No black boxes - Complete visibility into detection logic
๐ฆ Installation
Via pip (Recommended)
pip install prometheus-community
From Source
git clone https://github.com/0x44616D69616E/prometheus-community
cd prometheus-community
pip install -e .
Verify Installation
prometheus version
# Output: Prometheus Community Edition v2.0.0
๐ Quick Start
Analyze a Single File
prometheus analyze malware.exe
Analyze with JSON Export
prometheus analyze malware.exe --output results.json
Batch Analysis
prometheus batch /path/to/samples/ --output-dir results/
Quiet Mode (JSON Only)
prometheus analyze malware.exe --quiet --output results.json
๐ Usage & Arguments
Command: prometheus analyze
Analyze a single file with complete transparency.
prometheus analyze [OPTIONS] FILE
Arguments
| Argument | Type | Description | Default |
|---|---|---|---|
FILE |
Path | File to analyze (required) | - |
--output, -o |
Path | Save results to JSON file | None |
--quiet, -q |
Flag | Suppress console output | False |
--intel |
Path | Custom intelligence database | Built-in |
Examples
Basic analysis:
prometheus analyze suspicious.exe
Save results:
prometheus analyze suspicious.exe --output results.json
Custom intelligence database:
prometheus analyze suspicious.exe --intel custom_intel.json
Quiet mode (automation-friendly):
prometheus analyze suspicious.exe --quiet --output results.json
Command: prometheus batch
Analyze multiple files in a directory.
prometheus batch [OPTIONS] DIRECTORY
Arguments
| Argument | Type | Description | Default |
|---|---|---|---|
DIRECTORY |
Path | Directory containing files | - |
--output-dir, -d |
Path | Save results to directory | Current dir |
--recursive, -r |
Flag | Scan subdirectories | False |
--pattern |
String | File pattern to match | * |
--threads |
Integer | Number of parallel threads | 4 |
Examples
Analyze all files in directory:
prometheus batch /samples/
Recursive scan with results:
prometheus batch /samples/ --recursive --output-dir results/
Specific file pattern:
prometheus batch /samples/ --pattern "*.exe" --output-dir results/
Parallel processing:
prometheus batch /samples/ --threads 8 --output-dir results/
Command: prometheus version
Show version information.
prometheus version
Output:
Prometheus Community Edition v2.0.0
Revolutionary 6-layer malware analysis with explainable detection
Intelligence: 661 items (276 signatures, 203 behavioral, 168 exploits)
Python: 3.10.0
License: Prometheus Community License v1.0
Command: prometheus upgrade
Information about enterprise edition.
prometheus upgrade
๐ Example Output
Sample Analysis
$ prometheus analyze wannacry_sample.exe
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ ๐ฅ PROMETHEUS COMMUNITY EDITION v2.0.0 โ
โ The Most Transparent Malware Analyzer โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Analyzing: wannacry_sample.exe
SHA256: abc123def456...
Size: 52,480 bytes
Type: pe
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
๐ Layer 1: File Signatures & Entropy
Entropy: 7.24
โ ๏ธ HIGH ENTROPY - Likely packed/encrypted
Strings: 1,234
๐ File Signatures: 3 matches
โข PE (executable)
๐ offset 0x00000000
โข DOS MZ Header (executable)
๐ offset 0x00000000
โข Windows PE32 (executable)
๐ offset 0x00000080
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
๐ฏ Layer 2: Behavioral Indicators
๐ด CRITICAL Indicators (2):
๐ด Mutex Name: Global\MsWinZonesCacheCounterMutexA
๐ UNIQUE | Confidence: 100%
๐ offset 0x00001a40, length 37 bytes
Why: This mutex is UNIQUE to WannaCry ransomware and is used to
prevent multiple instances from running simultaneously
Category: Defense Evasion - T1027
๐ด File Extension: .WNCRY
๐ UNIQUE | Confidence: 95%
๐ offset 0x00003f20, length 6 bytes
Why: Files encrypted by WannaCry are renamed with this extension -
a signature marker of this ransomware
Category: Impact - T1486
๐ HIGH Severity Indicators (1):
๐ URL: iuqerfsodp9ifjaposdfjhgosurijfaewrwergwea.com
๐ UNIQUE | Confidence: 90%
๐ offset 0x00004120
๐ Summary:
โข 3 unique indicators
โข 0 rare indicators
โข 1 families detected: WannaCry
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
๐ฅ Layer 3: Exploit Patterns
๐ฅ Exploit Patterns: 1 detected
๐ด NOP Sled
๐ offset 0x00002f80, length 64 bytes
Type: buffer_overflow, Severity: high
Why: Long sequence of NOP (0x90) instructions used to make buffer
overflow exploits more reliable
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
VERDICT
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
๐ท๏ธ Family: WannaCry
๐ Confidence: 95%
๐ง Why this family?
๐ 3 UNIQUE Indicators:
โ Mutex Name: Global\MsWinZonesCacheCounterMutexA
๐ offset 0x00001a40
This mutex is UNIQUE to WannaCry ransomware and is used to prevent
multiple...
โ File Extension: .WNCRY
๐ offset 0x00003f20
Files encrypted by WannaCry are renamed with this extension - a
signature marker...
โ Url: iuqerfsodp9ifjaposdfjhgosurijfaewrwergwea.com
๐ offset 0x00004120
Original WannaCry kill switch - malware checks if this domain
resolves...
๐ Detection Summary:
โข 3 unique to WannaCry
โข 3 total indicators
โข Confidence: 95%
๐ Key Findings Map:
0x00001a40: mutex_name (critical, unique)
0x00003f20: file_extension (critical, unique)
0x00004120: url (high, unique)
๐ Indicators of Compromise (5):
โข http://iuqerfsodp9ifjaposdfjhgosurijfaewrwergwea.com
โข 192.168.56.20
โข C:\Windows\tasksche.exe
โข Global\MsWinZonesCacheCounterMutexA
โข @WanaDecryptor@.exe
โ๏ธ Tactics, Techniques & Procedures (4):
โข Defense Evasion
โข Impact
โข Command and Control
โข Execution
โฑ๏ธ Duration: 0.234s
๐ป Python API Usage
Basic Analysis
from prometheus import PrometheusEngine
# Initialize engine
engine = PrometheusEngine()
# Analyze file
result = engine.analyze_file("malware.exe")
# Access results
print(f"Family: {result.family}")
print(f"Confidence: {result.confidence:.0%}")
print(f"IOCs: {len(result.iocs)}")
With Custom Intelligence
from prometheus import PrometheusEngine
# Use custom intelligence database
engine = PrometheusEngine(intel_path="custom_intel.json")
result = engine.analyze_file("malware.exe")
Accessing Detailed Results
# Get unique indicators only
unique_indicators = result.get_unique_indicators()
for indicator in unique_indicators:
print(f"{indicator.indicator_type}: {indicator.matched_value}")
print(f"Location: offset 0x{indicator.location.offset:08x}")
print(f"Explanation: {indicator.explanation}")
print()
# Get critical findings
critical = result.get_critical_indicators()
print(f"Found {len(critical)} critical indicators")
# Get location map
location_map = result.get_locations_map()
print(f"Behavioral indicators at: {location_map['behavioral']}")
print(f"Exploit patterns at: {location_map['exploits']}")
Export to JSON
import json
# Convert to dictionary
result_dict = result.to_dict()
# Save to file
with open("results.json", "w") as f:
json.dump(result_dict, f, indent=2)
JSON Output Structure
{
"sample": {
"filename": "malware.exe",
"sha256": "abc123...",
"md5": "def456...",
"file_size": 52480,
"file_type": "pe"
},
"detection": {
"family": "WannaCry",
"confidence": 0.95,
"reasoning": {
"explanation": "Detected based on 3 UNIQUE indicators, 3 total indicators",
"unique_indicators": 3,
"total_indicators": 3,
"key_indicators": [
"mutex_name: Global\\MsWinZonesCacheCounterMutexA",
"file_extension: .WNCRY",
"url: iuqerfsodp9ifjaposdfjhgosurijfaewrwergwea.com"
]
}
},
"behavioral_details": [
{
"family": "WannaCry",
"type": "mutex_name",
"value": "Global\\MsWinZonesCacheCounterMutexA",
"location": {
"offset": 6720,
"offset_hex": "0x00001a40",
"length": 37
},
"severity": "critical",
"confidence": 1.0,
"uniqueness": "unique",
"explanation": "This mutex is UNIQUE to WannaCry..."
}
],
"location_map": {
"signatures": [0, 128],
"behavioral": [6720, 16160],
"exploits": [12160]
}
}
๐ Use Cases
Security Research
# Analyze unknown sample
prometheus analyze unknown.exe --output research.json
# Extract exact locations for manual verification
# Open hex editor at offsets shown in output
# Verify findings yourself!
SOC Analysis
# Quick triage
prometheus analyze alert_binary.exe
# Decision based on:
# - Severity: CRITICAL indicators require immediate action
# - Uniqueness: UNIQUE indicators = high confidence
# - Confidence: 95%+ = escalate immediately
Malware Education
# Analyze known malware family
prometheus analyze wannacry.exe
# Learn:
# - What makes WannaCry distinctive
# - Where indicators are located
# - How MITRE ATT&CK applies
# - Practice hex editor verification
Forensic Investigation
# Detailed analysis with locations
prometheus analyze evidence.exe --output forensics.json
# Use location map to:
# - Extract specific file sections
# - Identify malicious code regions
# - Document findings with exact offsets
# - Integrate with IDA/Ghidra
๐ฌ Intelligence Database
Structure
{
"file_signatures": [276 items],
"behavioral_indicators": [203 items],
"exploit_patterns": [168 items],
"pe_heuristics": [8 items],
"xor_keys": [6 items]
}
Enhanced Metadata (New in v2.0.0)
Every behavioral indicator includes:
severity- critical | high | medium | low | infoconfidence_weight- 0.0-1.0uniqueness- unique | rare | commonexplanation- Why this indicator matterscommonly_found_in- Which malware families use thisttp_category- MITRE ATT&CK mappingcontext- What behavior this reveals
Statistics
| Category | Count | Percentage |
|---|---|---|
| Uniqueness | ||
| Unique indicators | 15 | 7.4% |
| Rare indicators | 58 | 28.6% |
| Common indicators | 130 | 64.0% |
| Severity | ||
| Critical | 20 | 9.9% |
| High | 138 | 68.0% |
| Medium | 45 | 22.2% |
๐ Comparison with Other Tools
| Feature | Prometheus v2.0 | VirusTotal | Cuckoo | YARA |
|---|---|---|---|---|
| Explains findings | โ Complete | โ | โ ๏ธ Limited | โ |
| Shows locations | โ Exact offsets | โ | โ | โ Offsets |
| Severity levels | โ 5 levels | โ | โ | โ |
| Uniqueness rating | โ 3 levels | โ | โ | โ |
| MITRE ATT&CK | โ Full mapping | โ | โ ๏ธ Partial | โ |
| Educational | โ Built-in | โ | โ | โ |
| Transparent | โ Complete | โ | โ ๏ธ Limited | โ ๏ธ Partial |
| Open Source | โ Yes | โ | โ Yes | โ Yes |
Prometheus is the ONLY tool with complete transparency: WHAT + WHY + WHERE
๐ Documentation
- Installation Guide - Getting started
- User Manual - Complete feature reference
- API Documentation - Python API reference
- Intelligence Format - Custom intelligence guide
- Research Paper - DOI: 10.5281/zenodo.18123287
๐ค Contributing
We welcome contributions! See CONTRIBUTING.md for:
- Bug reports
- Feature requests
- Intelligence contributions
- Code contributions
๐ License
Prometheus Community Edition is released under the Prometheus Community License v1.0.
Key terms:
- โ Free for research, education, and non-profit use
- โ Source available - Review and modify code
- โ No commercial use without license
- โ Attribution required
For commercial licensing, contact: contact@asnspy.com
See LICENSE for full terms.
๐ Citation
If you use Prometheus in research, please cite:
@software{prometheus2026,
author = {Donahue, Damian},
title = {Prometheus Community Edition: Explainable Malware Detection},
year = {2026},
publisher = {GitHub},
version = {2.0.0},
url = {https://github.com/0x44616D69616E/prometheus-community},
doi = {10.5281/zenodo.18123287}
}
๐ What's New in v2.0.0
Major Features
- ๐ง Explainable Detection - Every finding explained
- ๐ Location Tracking - Exact byte offsets for everything
- ๐ Enhanced Intelligence - All 661 items with rich metadata
- ๐ฏ Severity Levels - Critical/High/Medium/Low/Info
- ๐ Uniqueness Ratings - Unique/Rare/Common
- ๐ MITRE ATT&CK - Full TTP categorization
- ๐ Detection Reasoning - Transparent confidence calculation
See Full Changelog
- CHANGELOG.md - Complete version history
- RELEASE_NOTES.md - v2.0.0 details
๐ฌ Community & Support
- GitHub Issues - Bug reports and feature requests
- Discussions - Questions and community chat
- Email - contact@asnspy.com
- Documentation - Complete guides and examples
๐ Roadmap
v2.1.0 (Planned)
- Interactive hex viewer integration
- Real-time pattern highlighting
- STIX 2.1 export format
- Threat intelligence platform integration
v2.2.0 (Planned)
- YARA rule generation from samples
- Automated report generation
- Multi-file campaign analysis
- Timeline reconstruction
โญ Star History
If you find Prometheus useful, please star the repo! โญ
๐ Acknowledgments
Built on foundational research:
- Binary Analysis Academic Reference v2.2
- MITRE ATT&CK Framework
- Open source security community
Special thanks to all contributors and users who provided feedback!
๐ฅ Why Prometheus?
"The most transparent malware analyzer available"
In Greek mythology, Prometheus brought fire (knowledge) to humanity. Our Prometheus brings transparency and knowledge to malware analysis - showing you exactly what was found, why it matters, and where it's located.
No black boxes. No "trust us." Just complete, verifiable transparency. ๐
Made with ๐ฅ by the security research community
Prometheus Community Edition v2.0.0 - Transparency in malware analysis
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file prometheus_community-2.0.0.tar.gz.
File metadata
- Download URL: prometheus_community-2.0.0.tar.gz
- Upload date:
- Size: 51.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8f275e5569741d507f644c90ef936e477eea0e1bee0f42040a81e644998d2fb1
|
|
| MD5 |
f3e0699381205082c96cb045bb683300
|
|
| BLAKE2b-256 |
faf51d4d02585a0589212236ae2c61bb7cc094f47af789a0d17d4a1ca464c55c
|
Provenance
The following attestation bundles were made for prometheus_community-2.0.0.tar.gz:
Publisher:
python-publish.yml on 0x44616D69616E/prometheus-community
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
prometheus_community-2.0.0.tar.gz -
Subject digest:
8f275e5569741d507f644c90ef936e477eea0e1bee0f42040a81e644998d2fb1 - Sigstore transparency entry: 870573902
- Sigstore integration time:
-
Permalink:
0x44616D69616E/prometheus-community@f560e954b58703267f1a617f2dc0a6cefd999c9b -
Branch / Tag:
refs/tags/V2.0.0 - Owner: https://github.com/0x44616D69616E
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@f560e954b58703267f1a617f2dc0a6cefd999c9b -
Trigger Event:
release
-
Statement type:
File details
Details for the file prometheus_community-2.0.0-py3-none-any.whl.
File metadata
- Download URL: prometheus_community-2.0.0-py3-none-any.whl
- Upload date:
- Size: 48.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e601d5cca5b2e865a842b748784700652825b279208e55612648bd9e08315f61
|
|
| MD5 |
f281046fd372dfff6f2d1616cb101114
|
|
| BLAKE2b-256 |
0ec31ec13b1561de633f4e80ad017db9c553ef092dbe29a971f67b1473e14dfb
|
Provenance
The following attestation bundles were made for prometheus_community-2.0.0-py3-none-any.whl:
Publisher:
python-publish.yml on 0x44616D69616E/prometheus-community
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
prometheus_community-2.0.0-py3-none-any.whl -
Subject digest:
e601d5cca5b2e865a842b748784700652825b279208e55612648bd9e08315f61 - Sigstore transparency entry: 870573964
- Sigstore integration time:
-
Permalink:
0x44616D69616E/prometheus-community@f560e954b58703267f1a617f2dc0a6cefd999c9b -
Branch / Tag:
refs/tags/V2.0.0 - Owner: https://github.com/0x44616D69616E
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@f560e954b58703267f1a617f2dc0a6cefd999c9b -
Trigger Event:
release
-
Statement type: