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.6.tar.gz (53.9 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.6-cp313-cp313-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.13manylinux: glibc 2.17+ x86-64manylinux: glibc 2.5+ x86-64

malwi_box-0.0.6-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (91.2 kB view details)

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

malwi_box-0.0.6-cp313-cp313-macosx_11_0_arm64.whl (47.1 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

malwi_box-0.0.6-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (91.2 kB view details)

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

malwi_box-0.0.6-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (88.4 kB view details)

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

malwi_box-0.0.6-cp312-cp312-macosx_11_0_arm64.whl (47.1 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

malwi_box-0.0.6-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (90.8 kB view details)

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

malwi_box-0.0.6-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (88.3 kB view details)

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

malwi_box-0.0.6-cp311-cp311-macosx_11_0_arm64.whl (47.2 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

malwi_box-0.0.6-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (91.0 kB view details)

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

malwi_box-0.0.6-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (88.5 kB view details)

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

malwi_box-0.0.6-cp310-cp310-macosx_11_0_arm64.whl (47.2 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

File details

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

File metadata

  • Download URL: malwi_box-0.0.6.tar.gz
  • Upload date:
  • Size: 53.9 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.6.tar.gz
Algorithm Hash digest
SHA256 7aa084a0b5d6cd368671a33c5f387aff70090b48685b5763f0119afc290588a6
MD5 894f170068cb01d3f2c92deeb9c1769e
BLAKE2b-256 fcd089a357634ff3f8a7ccc0d644fddf8432e28413ea7f360b5c50686a713238

See more details on using hashes here.

Provenance

The following attestation bundles were made for malwi_box-0.0.6.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.6-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.6-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 83c8b3fd1cadc6e218451ece790db52079f68684e74d9384f2694923d6aee44d
MD5 f4ab3e879c09cf16ffb1e4dd6882c909
BLAKE2b-256 d6eb414bf5677b0274ba5bd7bc7f96754de833f3f6dc38d3f11698cfd45da5de

See more details on using hashes here.

Provenance

The following attestation bundles were made for malwi_box-0.0.6-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.6-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.6-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 34ffbb827a80930c9f37c6591c79dfbbfadbd1e448576f2e5fb7c7df11b761ee
MD5 7fbeb4f8ca6f20bb3ddebdedb0f2d4b1
BLAKE2b-256 b073befb0fd3c19f9655aa01a131156b108c37c0c1a3626b4dde9a3603828e9d

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for malwi_box-0.0.6-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 95129cc1bb4dc6c89864108b03dd088ef28b23722adddb4f673b4ea01434632c
MD5 6514d02ff70971f21c6e48b3b08e4dba
BLAKE2b-256 bd472be5f3d843c8951fc1f99ff8040078b2f0f152b0ed48b5509bde128f3eb1

See more details on using hashes here.

Provenance

The following attestation bundles were made for malwi_box-0.0.6-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.6-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.6-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5438033e5101f70bc447253a525b1e252e520c4386422373a5f91f6b83887c3a
MD5 ed1bbea94ba73a98abe7d91605ee3f1c
BLAKE2b-256 3b4b1b4b4b213abb879339dd6261a09c210eb4ad683a507339e5400703f6e812

See more details on using hashes here.

Provenance

The following attestation bundles were made for malwi_box-0.0.6-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.6-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.6-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 3c09b02ccc73ac955418fdd6898f25667716d4419747083d2c93ad748ccfa311
MD5 487de44de81cb08eae9aa9bcf2a9cc63
BLAKE2b-256 a50add8ac99e607f7c3cb5471e82f535ecf2792da4a8648f866b9c450aa7d6c5

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for malwi_box-0.0.6-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 dd1a39b3dccaeafa755451da1c735419055879deab0d26a28efb03670050a0bf
MD5 6636965457626103b3b546af7bf668be
BLAKE2b-256 afb3523254f06c51cb7c6ac21df35dc10ce47f23727b9e5bd2cda0aa423f622b

See more details on using hashes here.

Provenance

The following attestation bundles were made for malwi_box-0.0.6-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.6-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.6-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4f146ab5e211aa29389482de379c095a56d6e2b48a3bb13cdc7f3fd679057e19
MD5 59c72371bd686aee3bbd25036213f00d
BLAKE2b-256 265e78a46bf3b058588a1cea3305e1ffe11bca10d1e3c0fb21a3ad82059ad577

See more details on using hashes here.

Provenance

The following attestation bundles were made for malwi_box-0.0.6-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.6-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.6-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 94ada21f774051facf49fab7fad72d873c246524864971a2d9a8df45eea2cf27
MD5 8e0d026685ec8a2c156fa6d83dcfda99
BLAKE2b-256 baaf2d3c466ad9df32bb5ef0d907cbd1b1ca434838d1051e130c9eadbe8aad84

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for malwi_box-0.0.6-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 274d149e58ea7f94a34c7f068293fdb3ebcafa82a64ac70171ad0d4a07ddb1ba
MD5 6a3039d7f0b0ef63d9db3c75050d461b
BLAKE2b-256 c61d421fd6825a1b5d585a26390ea013ad954277b5888edac2af349d67ec9169

See more details on using hashes here.

Provenance

The following attestation bundles were made for malwi_box-0.0.6-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.6-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.6-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 21f6c0575ea44ae2d48390460a5df307501575ebfbc133e3120c6bbf901f9941
MD5 6bae902e9fdfd85fdd95f5816e26d166
BLAKE2b-256 ab28c5d59f7dc6fe02895270af0dded5497e235b651c1149a3224316fcbc0a7b

See more details on using hashes here.

Provenance

The following attestation bundles were made for malwi_box-0.0.6-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.6-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.6-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 486f37a4fc649fdca8063a1839a8257b1730aba97b7a0f0fa6e109ca27898b9c
MD5 44f255c593b32332ce9e937a0ac11bc7
BLAKE2b-256 0549db88c5184b24a7c92b34ed21c6432be80c163f9d19ef5b53fa2ce4a8e5d7

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for malwi_box-0.0.6-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 9a176ace24e856e86380b3db140b3f97b43ec41160e09e442a6c7683294a18fd
MD5 817788784474b1a393bcd702952a2ee7
BLAKE2b-256 89cf7542ca0745b0c5cb4c179f8d0430937f300beb98f7d0df9faf5a94b6b6ed

See more details on using hashes here.

Provenance

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