Skip to main content

Python GUI to run capemon in standalone VM. Provides a subset of CAPE (Configuration And Payload Extraction) processing and results.

Quick Start

  • Open an administrator command window.
  • Type capesolo to run.

Alternatively, create a shortcut to CAPEsolo.exe, which will be in the Scripts subdirectory of same location as your python.exe file.

  • Under Advanced, check 'Run as administrator'
  • An icon file is available in the CAPEsolo install folder under site-packages.

Analysis results are found in C:\Users\Public\CAPEsolo\analysis.

  • Can be configured in C:\Users\Public\CAPEsolo\cfg.ini
  • Settings there override the packaged defaults in python-path\site-packages\CAPEsolo\cfg.ini, and survive pip install --upgrade CAPEsolo, which overwrites the packaged copy.
  • Only include the keys you want to change; the rest fall back to the packaged defaults.

Revert the VM after each analysis.

View a JSON Report (standalone)

  • tools/report_viewer.py is a self-contained triage viewer for a CAPEsolo report.json that runs on any host with just Python - no CAPEsolo install and no pip dependencies (stdlib tkinter).
    • python tools/report_viewer.py [path\to\report.json]
    • With no argument it opens %USERPROFILE%\Desktop\report.json (where CAPEsolo writes it); use File > Open to pick another.
    • Triage tabs: Overview (verdict card - file hashes, detections, top signatures, config, counts), Signatures (severity-sorted, colored, with per-process evidence), Processes (the process tree with per-process metadata), Network (DNS/HTTP/Hosts/Domains/Flows), Payloads (with yara hits and strings), and IOCs (aggregated, with Copy / Export CSV / Export text).
    • The Search box (top bar) finds a value across signatures, network, payloads, configs, IOCs and strings, and jumps to the owning tab.
    • A Raw JSON tab keeps the full tree for anything the triage tabs do not surface.
    • Handles large reports: the file is read with a progress bar, the raw tree loads lazily (children on expand), and the detail panes are bounded, so it stays responsive on hundred-MB/GB reports. (A GB report still needs several GB of RAM to parse - inherent to Python's JSON.)
    • Needs tkinter - bundled with the standard Windows/macOS Python; on Linux install python3-tk.

Preserve Results From an Unstable VM

  • If a sample makes the VM unusable after detonation, click Zip Results on the Start panel to archive the whole analysis directory to Desktop\capesolo_analysis_<timestamp>.zip.
  • To restore into a clean/reverted VM, copy that zip to C:\Users\Public\CAPEsolo\restore.zip, then start CAPEsolo. On startup it extracts the zip into the analysis directory (only when that directory has no analysis yet) and renames it restore.zip.done so it restores once.
  • The result tabs then read the restored artifacts with no re-run - process each tab (Behavior, Yara, Configs, Signatures) or use the JSON/HTML Report buttons.

Download Samples by Hash

  • The Start panel can fetch a sample by MD5/SHA1/SHA256 from VirusTotal or MalwareBazaar and use it as the analysis target. The source is auto-selected (VirusTotal first, then MalwareBazaar; MalwareBazaar requires a SHA256), based on which keys are configured.
  • Turn it on in cfg.ini (or via the Settings button): under [download] set enabled = true. directory sets where samples are saved (defaults to the user's Desktop).
  • API keys - where to get them:
    • VirusTotal: file downloads require a VirusTotal Enterprise / Intelligence API key. The free community key can look up reports but cannot download files.
    • MalwareBazaar: a free abuse.ch Auth-Key (create an account at auth.abuse.ch).
  • API keys are stored ENCRYPTED, never in plaintext on the VM. You produce the encrypted blob OFF the VM with tools/encrypt_api_key.py and paste it into cfg.ini.
  • tools/encrypt_api_key.py ships in the CAPEsolo source repository under tools/. Run it on a trusted host (NOT the analysis VM); it only needs pip install cryptography.
    • python tools/encrypt_api_key.py
    • It prompts (hidden) for the API key and a password, and prints an encrypted blob.
    • Encrypt every provider you use with the SAME password, so one prompt unlocks both.
  • Install the blob in the guest by either:
    • pasting it into cfg.ini as api_key_enc under [virustotal] and/or [malwarebazaar], or
    • setting the CAPESOLO_VT_APIKEY_ENC / CAPESOLO_MB_APIKEY_ENC environment variables (env vars override cfg.ini).
  • When downloads are enabled, CAPEsolo prompts once at startup for the password and decrypts the key in memory only; the plaintext key never touches the VM's disk. Enter the password, then snapshot the VM so it is ready on every revert.

MCP Server

  • CAPEsolo includes an MCP server entrypoint for programmatic analysis workflows.
  • Start it over stdio with CAPEsolo-mcp, or serve it over HTTP to reach it from the host.
  • See mcp_server.md for transports, cfg.ini configuration, the full tool list, and examples.

Interactive Debugger

  • See interactive_debugger.md for the GUI debugger, and mcp_server.md for the MCP equivalent.

Headless Single-Run CLI

  • CAPEsolo supports a non-MCP single-run mode that reuses the same backend job runner as the MCP server.
  • Run one analysis and exit:
    • CAPEsolo --headless-analyze "C:\path\sample.exe"
  • Optional flags:
    • --package <name>
    • --options "key=value,key2=value2"
    • --timeout <seconds>
    • --enforce-timeout
    • --headless-json
    • --headless-html-report

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

capesolo-0.5.32.tar.gz (7.5 MB view details)

Uploaded Source

Built Distribution

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

capesolo-0.5.32-py3-none-any.whl (7.8 MB view details)

Uploaded Python 3

File details

Details for the file capesolo-0.5.32.tar.gz.

File metadata

  • Download URL: capesolo-0.5.32.tar.gz
  • Upload date:
  • Size: 7.5 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.9

File hashes

Hashes for capesolo-0.5.32.tar.gz
Algorithm Hash digest
SHA256 6a5533cd0032a479701e9db1c4e16d077696a49f859723212913a1013610af11
MD5 ae85b67ff724b4b9c0bbdc452a278abc
BLAKE2b-256 b166a535dd699550547f52637922ff5fde71476cd4c8cfdc2761a66f375793ba

See more details on using hashes here.

File details

Details for the file capesolo-0.5.32-py3-none-any.whl.

File metadata

  • Download URL: capesolo-0.5.32-py3-none-any.whl
  • Upload date:
  • Size: 7.8 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.9

File hashes

Hashes for capesolo-0.5.32-py3-none-any.whl
Algorithm Hash digest
SHA256 2fd0ac2f035dc29f004b880456cb0d7347d9df6533d3bee6dd007a3a91ef84f0
MD5 75ba6300233136b8ad939cde7e738a2c
BLAKE2b-256 52a17847c8317e06fe49c4c5014a1ef69428b1b7902d3de9884b32d2c1d76b08

See more details on using hashes here.

Release history Release notifications | RSS feed

0.5.33

2 files

This release

0.5.32 This release

2 files

0.5.30

2 files

0.5.29

2 files

0.5.28

2 files

0.5.27

2 files

0.5.26

2 files

0.5.25

2 files

0.5.24

2 files

0.5.23

2 files

0.5.22

2 files

0.5.20

2 files

0.5.19

2 files

0.5.15

2 files

0.5.9

2 files

0.5.7

2 files

0.4.27

2 files

0.4.25

2 files

0.4.24

2 files

0.4.23

2 files

0.4.22

2 files

0.4.21

2 files

0.4.20

2 files

0.4.19

2 files

0.4.18

2 files

0.4.17

2 files

0.4.16

2 files

0.4.15

2 files

0.4.14

2 files

0.4.13

2 files

0.4.12

2 files

0.4.11

2 files

0.4.10

2 files

0.4.9

2 files

0.4.8

2 files

0.4.7

2 files

0.4.6

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page