Skip to main content

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

PyPI version Python 3.8+ License DOI

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

  1. File Signatures - 276 format patterns with location tracking
  2. Behavioral Indicators - 203 malware-specific behaviors with explanations
  3. Exploit Patterns - 168 exploitation techniques mapped to MITRE
  4. PE Heuristics - 8 advanced PE structure analysis rules
  5. Dynamic Inference - Behavioral pattern correlation
  6. 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 | info
  • confidence_weight - 0.0-1.0
  • uniqueness - unique | rare | common
  • explanation - Why this indicator matters
  • commonly_found_in - Which malware families use this
  • ttp_category - MITRE ATT&CK mapping
  • context - 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


๐Ÿ’ฌ 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

prometheus_community-2.0.0.tar.gz (51.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

prometheus_community-2.0.0-py3-none-any.whl (48.5 kB view details)

Uploaded Python 3

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

Hashes for prometheus_community-2.0.0.tar.gz
Algorithm Hash digest
SHA256 8f275e5569741d507f644c90ef936e477eea0e1bee0f42040a81e644998d2fb1
MD5 f3e0699381205082c96cb045bb683300
BLAKE2b-256 faf51d4d02585a0589212236ae2c61bb7cc094f47af789a0d17d4a1ca464c55c

See more details on using hashes here.

Provenance

The following attestation bundles were made for prometheus_community-2.0.0.tar.gz:

Publisher: python-publish.yml on 0x44616D69616E/prometheus-community

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file prometheus_community-2.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for prometheus_community-2.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e601d5cca5b2e865a842b748784700652825b279208e55612648bd9e08315f61
MD5 f281046fd372dfff6f2d1616cb101114
BLAKE2b-256 0ec31ec13b1561de633f4e80ad017db9c553ef092dbe29a971f67b1473e14dfb

See more details on using hashes here.

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page