Skip to main content

Intercept, audit, and block critical Python operations at runtime

Project description

malwi-box logo

malwi-box

Intercept, audit, and block critical Python operations at runtime.

Shipped without any dependencies, except pip

malwi-box demo

Use Cases

  • 🔬 Malware analysis - Safely detonate suspicious Python code and observe its behavior
  • 📦 Dependency auditing - Discover what file, network, and process access a package actually needs
  • 🔒 Runtime protection - Enforce allowlists to block unauthorized operations in production

Warning: This tool is not executed in isolation or virtualization, it runs on your actual machine, kernel and CPU. Use it at your own risk. Still it allows to reduce the blast radius of typical Python malware.

Installation

pip install malwi-box

Or with uv:

uv tool install malwi-box

Quick Start

# Block file access
$ malwi-box eval "open('/etc/passwd').read()"
[malwi-box] Blocked: Read file: /etc/passwd

# Block network requests
$ malwi-box eval "import urllib.request; urllib.request.urlopen('https://evil.com')"
[malwi-box] Blocked: DNS lookup: evil.com

# Block shell commands
$ malwi-box eval "import os; os.system('whoami')"
[malwi-box] Blocked: Shell command: /bin/sh -c whoami

# Block subprocess execution
$ malwi-box eval "import subprocess; subprocess.run(['curl', 'https://evil.com'])"
[malwi-box] Blocked: Execute: /usr/bin/curl

# Log suspicious encoding (info-only, not blocked)
$ malwi-box eval "import base64; base64.b64encode(b'secret')"
[malwi-box] Base64: b64encode

Commands

run

Run a Python script or module with sandboxing.

malwi-box run script.py [args...]
malwi-box run --force script.py     # log violations without blocking
malwi-box run --review script.py    # approve/deny each operation

eval

Execute a Python code string with sandboxing.

malwi-box eval "print('hello')"
malwi-box eval --force "import os; os.system('id')"
malwi-box eval --review "open('/etc/passwd').read()"

install

Install pip packages with sandboxing. Most malware packages perform malicious activities at install-time.

malwi-box install package
malwi-box install package --version 1.2.3
malwi-box install -r requirements.txt
malwi-box install --review package # approve/deny each operation

config

Manage configuration.

malwi-box config create # creates .malwi-box.toml
malwi-box config create --path FILE

Configuration Reference

Config file: .malwi-box.toml

# File access permissions
allow_read = [
  "$PWD",                     # working directory
  "$PYTHON_STDLIB",           # Python standard library
  "$PYTHON_SITE_PACKAGES",    # installed packages
  "$HOME/.config/myapp",      # specific config directory
  "/etc/hosts",               # specific file
]

allow_create = [
  "$PWD",                     # allow creating files in workdir
  "$TMPDIR",                  # allow temp files
]

allow_modify = [
  "$PWD/data",                # only modify files in data/
  { path = "/etc/myapp.conf", hash = "sha256:abc123..." },
]

allow_delete = [
  "$TMPDIR",                  # allow temp cleanup
  "$PIP_CACHE",               # allow pip cache cleanup
]

# Network permissions
allow_domains = [
  "pypi.org",                 # allow any port
  "files.pythonhosted.org",
  "api.example.com:443",      # restrict to specific port
]

allow_ips = [
  "10.0.0.0/8",               # CIDR notation
  "192.168.1.100:8080",       # specific IP:port
  "[::1]:443",                # IPv6 with port
]

# HTTP URL path restrictions (empty = block all)
allow_http_urls = [
  "$PYPI_DOMAINS/*",              # use variable for PyPI URLs
  "api.example.com/v1/*",         # glob pattern for paths
  "cdn.example.com/assets/*",
  "https://secure.example.com/*", # explicit scheme
]

# HTTP methods allowed (empty = block all)
allow_http_methods = ["$ALL_HTTP_METHODS"]  # variable for all standard methods

# Raw socket access (default: false, blocks SOCK_RAW creation)
allow_raw_sockets = false

# Process execution
allow_executables = [
  "/usr/bin/git",             # allow by path
  "$PWD/.venv/bin/*",         # glob pattern
  { path = "/usr/bin/curl", hash = "sha256:abc123..." },
]

allow_shell_commands = [
  "/usr/bin/git *",           # glob pattern matching
  "/usr/bin/curl *",
]

# Environment variables (empty = block all)
allow_env_var_reads = ["$SAFE_ENV_VARS"]  # variable for safe env vars

Variables

Variables can be used in config values and are expanded at runtime.

Variable Expands To
Path variables
$PWD Working directory
$HOME User home directory
$TMPDIR System temp directory (macOS: /var/folders/.../T, Linux: /tmp)
$CACHE_HOME User cache directory (macOS: ~/Library/Caches, Linux: ~/.cache)
$PIP_CACHE pip cache directory
$VENV Active virtualenv root (if $VIRTUAL_ENV is set)
$PYTHON_STDLIB Python standard library
$PYTHON_SITE_PACKAGES Installed packages (purelib)
$PYTHON_PLATLIB Platform-specific packages
$PYTHON_PREFIX Python installation prefix
$ENV{VAR} Any environment variable
List variables Expand to multiple values
$PYPI_DOMAINS pypi.org, files.pythonhosted.org
$LOCALHOST 127.0.0.1, ::1, localhost
$ALL_HTTP_METHODS GET, POST, PUT, DELETE, PATCH, HEAD, OPTIONS
$SAFE_ENV_VARS PATH, HOME, USER, SHELL, TERM, LANG, LC_ALL, LC_CTYPE, PWD, OLDPWD, TMPDIR, TMP, TEMP, PYTHONPATH, VIRTUAL_ENV, CONDA_PREFIX

List variables can be combined with patterns: $PYPI_DOMAINS/* expands to pypi.org/*, files.pythonhosted.org/*.

Allowlist Behavior

All allow_* attributes consistently block when empty. Use variables to document what's being allowed:

Attribute Empty Behavior Default
allow_read Block all $PWD, $PYTHON_STDLIB, $PYTHON_SITE_PACKAGES, $PYTHON_PLATLIB, $PIP_CACHE, $TMPDIR, $CACHE_HOME
allow_create Block all $PWD, $TMPDIR, $PIP_CACHE
allow_modify Block all $TMPDIR, $PIP_CACHE
allow_delete Block all $TMPDIR, $PIP_CACHE
allow_domains Block all $PYPI_DOMAINS
allow_ips Block all $LOCALHOST
allow_http_urls Block all $PYPI_DOMAINS/*
allow_http_methods Block all $ALL_HTTP_METHODS
allow_executables Block all (none)
allow_shell_commands Block all (none)
allow_env_var_reads Block all $SAFE_ENV_VARS

Network Behavior

  • Domains in allow_domains automatically permit their resolved IPs
  • Direct IP access requires explicit allow_ips entries
  • CIDR notation supported for IP ranges
  • Port restrictions supported for both domains and IPs

HTTP Request Interception

Supported libraries:

  • urllib.request (stdlib)
  • http.client (stdlib)
  • urllib3
  • requests
  • httpx
  • aiohttp

URL allowlisting:

  • If allow_http_urls is empty, all HTTP requests are blocked
  • Default uses $PYPI_DOMAINS/* to allow pip install
  • Requests must match both domain AND URL pattern
  • Scheme (http://, https://) is optional in patterns - omit to match both
  • Glob patterns supported for paths: api.example.com/v1/*
  • Subdomain matching: example.com/api/* matches api.example.com/api/*

Method restrictions:

  • If allow_http_methods is empty, all HTTP requests are blocked
  • Default uses $ALL_HTTP_METHODS to allow all standard methods
  • If configured, only listed methods are permitted (e.g., ["GET", "HEAD"])

Bypass note: Raw socket HTTP requests bypass library hooks but are blocked by default (allow_raw_sockets = false). The socket.connect event still captures all connections at the network level.

Hash Verification

Executables and files can include SHA256 hashes:

allow_executables = [
  { path = "/usr/bin/git", hash = "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" },
]

Information Events

Some operations are logged for auditing but never blocked. They help identify potentially suspicious behavior during program analysis:

Encoding & Compression

Event Description Example Output Malware Indicator
encoding.base64 Base64 encode/decode Base64: b64encode Payload obfuscation
encoding.hex Hex encode/decode Hex: hexlify Payload obfuscation
encoding.zlib zlib compress/decompress Zlib: compress Packed payloads
encoding.gzip gzip compress/decompress Gzip: compress Packed payloads
encoding.bz2 bz2 compress/decompress Bz2: compress Packed payloads
encoding.lzma lzma/xz compress/decompress LZMA: compress Packed payloads

Cryptography

Event Description Example Output Malware Indicator
crypto.cipher Low-level cipher ops Cipher: Encrypt Generic encryption
crypto.fernet Fernet encryption Fernet: encrypt Symmetric encryption
crypto.hmac HMAC keyed hashing HMAC: new C2 authentication
crypto.rsa RSA key operations RSA: generate (2048 bits) Ransomware key exchange
crypto.aes AES encryption AES: init (CBC) File encryption
crypto.chacha20 ChaCha20 encryption ChaCha20: init Modern symmetric encryption
secrets.token Secure token generation SecureRandom: 32 bytes Key generation

Deserialization

Event Description Example Output Malware Indicator
pickle.find_class Class during unpickling Pickle: builtins.list Code execution
marshal.loads Loading bytecode Marshal: loads Bytecode injection

Archive Extraction

Event Description Example Output Malware Indicator
shutil.unpack_archive Archive extraction Unpack: file.zip -> /tmp Zip bombs, path traversal

Environment

Event Description Example Output Malware Indicator
os.putenv Set environment variable Set env var: PATH=/tmp Env manipulation
os.unsetenv Unset environment variable Unset env var: DEBUG Env manipulation

Bypass Protection

  • Blocks sys.addaudithook to prevent registering competing hooks
  • Blocks sys.settrace and sys.setprofile to prevent debugger-based evasion
  • Blocks ctypes.dlopen by default to prevent loading native code that bypasses hooks

Limitations

  • Audit hooks cannot be bypassed from Python, but native code can
  • Here it is important to review which executables are allow-listed

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

malwi_box-0.0.8.tar.gz (55.5 kB view details)

Uploaded Source

Built Distributions

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

malwi_box-0.0.8-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (96.3 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64manylinux: glibc 2.5+ x86-64

malwi_box-0.0.8-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (93.6 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ i686manylinux: glibc 2.5+ i686

malwi_box-0.0.8-cp313-cp313-macosx_11_0_arm64.whl (48.0 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

malwi_box-0.0.8-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (93.7 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64manylinux: glibc 2.5+ x86-64

malwi_box-0.0.8-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (90.8 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ i686manylinux: glibc 2.5+ i686

malwi_box-0.0.8-cp312-cp312-macosx_11_0_arm64.whl (48.1 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

malwi_box-0.0.8-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (93.8 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64manylinux: glibc 2.5+ x86-64

malwi_box-0.0.8-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (91.1 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ i686manylinux: glibc 2.5+ i686

malwi_box-0.0.8-cp311-cp311-macosx_11_0_arm64.whl (48.2 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

malwi_box-0.0.8-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (93.8 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64manylinux: glibc 2.5+ x86-64

malwi_box-0.0.8-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (91.2 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ i686manylinux: glibc 2.5+ i686

malwi_box-0.0.8-cp310-cp310-macosx_11_0_arm64.whl (48.2 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

File details

Details for the file malwi_box-0.0.8.tar.gz.

File metadata

  • Download URL: malwi_box-0.0.8.tar.gz
  • Upload date:
  • Size: 55.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for malwi_box-0.0.8.tar.gz
Algorithm Hash digest
SHA256 2e8564dbd606c3d3d503bc87b0963cc1665781b5dd33d0b05ac633f9d1a2399e
MD5 f9c8c0bb8f879799ea6397615132c806
BLAKE2b-256 9d5a2308baf9cd07c17e7d801d0dd3f33dc6f578bde060ef32dc111f786438dc

See more details on using hashes here.

Provenance

The following attestation bundles were made for malwi_box-0.0.8.tar.gz:

Publisher: publish.yml on canvascomputing/malwi-box

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

File details

Details for the file malwi_box-0.0.8-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for malwi_box-0.0.8-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 36a0d5a562dc02c8e739d99e07720077ceef3a17b25e6da6ebbf818dabdd0108
MD5 79a8f145c3e77f474372597db69869db
BLAKE2b-256 66894f42c7c1c76323c13c0197f3ea4c2cb549ba521eef35f47792a5534d5bde

See more details on using hashes here.

Provenance

The following attestation bundles were made for malwi_box-0.0.8-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: publish.yml on canvascomputing/malwi-box

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

File details

Details for the file malwi_box-0.0.8-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for malwi_box-0.0.8-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 70adb20aeaf8315ba330e6fc2462087e5610bae5e1e7a7faedf24c1a8e745f39
MD5 7151f540cfac91af6813eee29c2203f1
BLAKE2b-256 2754bd0d780d1807bec510bdd62c019fc227efe2ba501d9d0f69be83808ae7aa

See more details on using hashes here.

Provenance

The following attestation bundles were made for malwi_box-0.0.8-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl:

Publisher: publish.yml on canvascomputing/malwi-box

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

File details

Details for the file malwi_box-0.0.8-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for malwi_box-0.0.8-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 efdf001234f341f1347bf2410e0534699d317425c061d2f5b24f48cd576afda3
MD5 1333ad80306053e9e3d35dad65b5a57e
BLAKE2b-256 3f9b45fe59bf68ecc7f25feed2995a9db9a235399290892b9755081624acc363

See more details on using hashes here.

Provenance

The following attestation bundles were made for malwi_box-0.0.8-cp313-cp313-macosx_11_0_arm64.whl:

Publisher: publish.yml on canvascomputing/malwi-box

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

File details

Details for the file malwi_box-0.0.8-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for malwi_box-0.0.8-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 48d1da422f714da91dfd5858e75f84d69f452c6f0ab6fbf2595886b0bf26d55a
MD5 faa55f4a5760a68ab9b96c43064206f2
BLAKE2b-256 379326a2da17096188897525e1239b2f16debb1deb44eb0f0bc8bc39adcc0f92

See more details on using hashes here.

Provenance

The following attestation bundles were made for malwi_box-0.0.8-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: publish.yml on canvascomputing/malwi-box

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

File details

Details for the file malwi_box-0.0.8-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for malwi_box-0.0.8-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 8db4c368a5f47d00a72bc9575a267a25c9d6e6cfb9d8a5217ca5c40dd1ac2efe
MD5 374f223579a3b677ca262a5f3dad410f
BLAKE2b-256 94b75c6156fae0a09abcda1b8bb5a9e85b31ab8553178658dca1d30173ec00fd

See more details on using hashes here.

Provenance

The following attestation bundles were made for malwi_box-0.0.8-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl:

Publisher: publish.yml on canvascomputing/malwi-box

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

File details

Details for the file malwi_box-0.0.8-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for malwi_box-0.0.8-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 102f1c5734dcb4946f9d1d36046de2b0780d9faea3e6cd33fe84d4239559e215
MD5 6e1c50d1e3b4b780c3e1fa43eb55fc73
BLAKE2b-256 490aec9a46ad5d0fa7aa5fb3e175ab9aa795eba042acdde9d7d37cfd12657d45

See more details on using hashes here.

Provenance

The following attestation bundles were made for malwi_box-0.0.8-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: publish.yml on canvascomputing/malwi-box

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

File details

Details for the file malwi_box-0.0.8-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for malwi_box-0.0.8-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1f82adb203a025db1e5e2041f8564fbda881f66255ba055f10fc0a288347a433
MD5 a509d6b00fd5820c003e1068ba811040
BLAKE2b-256 e989357cc073eb880110a3d11bf42049f8fff32266d598701b265c7ee29fcdda

See more details on using hashes here.

Provenance

The following attestation bundles were made for malwi_box-0.0.8-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: publish.yml on canvascomputing/malwi-box

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

File details

Details for the file malwi_box-0.0.8-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for malwi_box-0.0.8-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 8f6d094266ddd265de9c1a39b27e8c7b9bed03abd9da1149c32e54affba93be8
MD5 1ff77cde1ec8996e4cd65274bc23a2e7
BLAKE2b-256 ec8da7d0f06e143dbc036746fceaebf8ed9bb9683eca02a2f80a688d4ae35be1

See more details on using hashes here.

Provenance

The following attestation bundles were made for malwi_box-0.0.8-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl:

Publisher: publish.yml on canvascomputing/malwi-box

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

File details

Details for the file malwi_box-0.0.8-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for malwi_box-0.0.8-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 293baef04fe354ce95435816472594f72b3362bda63a652c3f10534283d9627f
MD5 3461eaa9ffd4a29c1a0ae9f142d6e85f
BLAKE2b-256 1af87df7e3ff2ae5d7269692797bb87611513393474d572697678948c673ca03

See more details on using hashes here.

Provenance

The following attestation bundles were made for malwi_box-0.0.8-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: publish.yml on canvascomputing/malwi-box

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

File details

Details for the file malwi_box-0.0.8-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for malwi_box-0.0.8-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f50795d707d48a0ea0291caa881f4ddd27e364216dfcb8197f1b85bac032a8c3
MD5 a52362417018858f58bddd2747c7458b
BLAKE2b-256 5beca1c81f483ac9c49aaf80dba2773a91b0af2d912e6c40244df71437559e71

See more details on using hashes here.

Provenance

The following attestation bundles were made for malwi_box-0.0.8-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: publish.yml on canvascomputing/malwi-box

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

File details

Details for the file malwi_box-0.0.8-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for malwi_box-0.0.8-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 0b6af7c93aaa0281a8214d6108b28abb10895650847fc161685dcaa55f109d1f
MD5 f96aaacb96545dc86ff447978acb2204
BLAKE2b-256 f83da945171b16e4f3aa5ab38fec34db7cd458003b2b11ad051513df555fa345

See more details on using hashes here.

Provenance

The following attestation bundles were made for malwi_box-0.0.8-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl:

Publisher: publish.yml on canvascomputing/malwi-box

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

File details

Details for the file malwi_box-0.0.8-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for malwi_box-0.0.8-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 69d1a87fd8a4b13ab1249bfd90498b80c723b66f2c797ae6b7cef53d97191013
MD5 33e11783ccc5c2d469a9ed9ed1b467b0
BLAKE2b-256 9f1afeec4e7de81e3e58bd2bdd20978a8db706f30ce4dcd9183c4291e56e93cf

See more details on using hashes here.

Provenance

The following attestation bundles were made for malwi_box-0.0.8-cp310-cp310-macosx_11_0_arm64.whl:

Publisher: publish.yml on canvascomputing/malwi-box

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