Intercept, audit, and block critical Python operations at runtime
Project description
malwi-box
Intercept, audit, and block critical Python operations at runtime.
Shipped without any dependencies, except pip
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_domainsautomatically permit their resolved IPs - Direct IP access requires explicit
allow_ipsentries - 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)urllib3requestshttpxaiohttp
URL allowlisting:
- If
allow_http_urlsis 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/*matchesapi.example.com/api/*
Method restrictions:
- If
allow_http_methodsis empty, all HTTP requests are blocked - Default uses
$ALL_HTTP_METHODSto 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.addaudithookto prevent registering competing hooks - Blocks
sys.settraceandsys.setprofileto prevent debugger-based evasion - Blocks
ctypes.dlopenby 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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2e8564dbd606c3d3d503bc87b0963cc1665781b5dd33d0b05ac633f9d1a2399e
|
|
| MD5 |
f9c8c0bb8f879799ea6397615132c806
|
|
| BLAKE2b-256 |
9d5a2308baf9cd07c17e7d801d0dd3f33dc6f578bde060ef32dc111f786438dc
|
Provenance
The following attestation bundles were made for malwi_box-0.0.8.tar.gz:
Publisher:
publish.yml on canvascomputing/malwi-box
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
malwi_box-0.0.8.tar.gz -
Subject digest:
2e8564dbd606c3d3d503bc87b0963cc1665781b5dd33d0b05ac633f9d1a2399e - Sigstore transparency entry: 748763079
- Sigstore integration time:
-
Permalink:
canvascomputing/malwi-box@bebb6a3a96edaed69a2fdd713a89d0e1f5aa1c85 -
Branch / Tag:
refs/tags/0.0.8 - Owner: https://github.com/canvascomputing
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@bebb6a3a96edaed69a2fdd713a89d0e1f5aa1c85 -
Trigger Event:
push
-
Statement type:
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
- Download URL: malwi_box-0.0.8-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 96.3 kB
- Tags: CPython 3.13, manylinux: glibc 2.17+ x86-64, manylinux: glibc 2.5+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
36a0d5a562dc02c8e739d99e07720077ceef3a17b25e6da6ebbf818dabdd0108
|
|
| MD5 |
79a8f145c3e77f474372597db69869db
|
|
| BLAKE2b-256 |
66894f42c7c1c76323c13c0197f3ea4c2cb549ba521eef35f47792a5534d5bde
|
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
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
malwi_box-0.0.8-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl -
Subject digest:
36a0d5a562dc02c8e739d99e07720077ceef3a17b25e6da6ebbf818dabdd0108 - Sigstore transparency entry: 748763122
- Sigstore integration time:
-
Permalink:
canvascomputing/malwi-box@bebb6a3a96edaed69a2fdd713a89d0e1f5aa1c85 -
Branch / Tag:
refs/tags/0.0.8 - Owner: https://github.com/canvascomputing
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@bebb6a3a96edaed69a2fdd713a89d0e1f5aa1c85 -
Trigger Event:
push
-
Statement type:
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
- Download URL: malwi_box-0.0.8-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
- Upload date:
- Size: 93.6 kB
- Tags: CPython 3.13, manylinux: glibc 2.17+ i686, manylinux: glibc 2.5+ i686
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
70adb20aeaf8315ba330e6fc2462087e5610bae5e1e7a7faedf24c1a8e745f39
|
|
| MD5 |
7151f540cfac91af6813eee29c2203f1
|
|
| BLAKE2b-256 |
2754bd0d780d1807bec510bdd62c019fc227efe2ba501d9d0f69be83808ae7aa
|
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
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
malwi_box-0.0.8-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl -
Subject digest:
70adb20aeaf8315ba330e6fc2462087e5610bae5e1e7a7faedf24c1a8e745f39 - Sigstore transparency entry: 748763118
- Sigstore integration time:
-
Permalink:
canvascomputing/malwi-box@bebb6a3a96edaed69a2fdd713a89d0e1f5aa1c85 -
Branch / Tag:
refs/tags/0.0.8 - Owner: https://github.com/canvascomputing
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@bebb6a3a96edaed69a2fdd713a89d0e1f5aa1c85 -
Trigger Event:
push
-
Statement type:
File details
Details for the file malwi_box-0.0.8-cp313-cp313-macosx_11_0_arm64.whl.
File metadata
- Download URL: malwi_box-0.0.8-cp313-cp313-macosx_11_0_arm64.whl
- Upload date:
- Size: 48.0 kB
- Tags: CPython 3.13, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
efdf001234f341f1347bf2410e0534699d317425c061d2f5b24f48cd576afda3
|
|
| MD5 |
1333ad80306053e9e3d35dad65b5a57e
|
|
| BLAKE2b-256 |
3f9b45fe59bf68ecc7f25feed2995a9db9a235399290892b9755081624acc363
|
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
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
malwi_box-0.0.8-cp313-cp313-macosx_11_0_arm64.whl -
Subject digest:
efdf001234f341f1347bf2410e0534699d317425c061d2f5b24f48cd576afda3 - Sigstore transparency entry: 748763086
- Sigstore integration time:
-
Permalink:
canvascomputing/malwi-box@bebb6a3a96edaed69a2fdd713a89d0e1f5aa1c85 -
Branch / Tag:
refs/tags/0.0.8 - Owner: https://github.com/canvascomputing
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@bebb6a3a96edaed69a2fdd713a89d0e1f5aa1c85 -
Trigger Event:
push
-
Statement type:
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
- Download URL: malwi_box-0.0.8-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 93.7 kB
- Tags: CPython 3.12, manylinux: glibc 2.17+ x86-64, manylinux: glibc 2.5+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
48d1da422f714da91dfd5858e75f84d69f452c6f0ab6fbf2595886b0bf26d55a
|
|
| MD5 |
faa55f4a5760a68ab9b96c43064206f2
|
|
| BLAKE2b-256 |
379326a2da17096188897525e1239b2f16debb1deb44eb0f0bc8bc39adcc0f92
|
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
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
malwi_box-0.0.8-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl -
Subject digest:
48d1da422f714da91dfd5858e75f84d69f452c6f0ab6fbf2595886b0bf26d55a - Sigstore transparency entry: 748763097
- Sigstore integration time:
-
Permalink:
canvascomputing/malwi-box@bebb6a3a96edaed69a2fdd713a89d0e1f5aa1c85 -
Branch / Tag:
refs/tags/0.0.8 - Owner: https://github.com/canvascomputing
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@bebb6a3a96edaed69a2fdd713a89d0e1f5aa1c85 -
Trigger Event:
push
-
Statement type:
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
- Download URL: malwi_box-0.0.8-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
- Upload date:
- Size: 90.8 kB
- Tags: CPython 3.12, manylinux: glibc 2.17+ i686, manylinux: glibc 2.5+ i686
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8db4c368a5f47d00a72bc9575a267a25c9d6e6cfb9d8a5217ca5c40dd1ac2efe
|
|
| MD5 |
374f223579a3b677ca262a5f3dad410f
|
|
| BLAKE2b-256 |
94b75c6156fae0a09abcda1b8bb5a9e85b31ab8553178658dca1d30173ec00fd
|
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
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
malwi_box-0.0.8-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl -
Subject digest:
8db4c368a5f47d00a72bc9575a267a25c9d6e6cfb9d8a5217ca5c40dd1ac2efe - Sigstore transparency entry: 748763082
- Sigstore integration time:
-
Permalink:
canvascomputing/malwi-box@bebb6a3a96edaed69a2fdd713a89d0e1f5aa1c85 -
Branch / Tag:
refs/tags/0.0.8 - Owner: https://github.com/canvascomputing
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@bebb6a3a96edaed69a2fdd713a89d0e1f5aa1c85 -
Trigger Event:
push
-
Statement type:
File details
Details for the file malwi_box-0.0.8-cp312-cp312-macosx_11_0_arm64.whl.
File metadata
- Download URL: malwi_box-0.0.8-cp312-cp312-macosx_11_0_arm64.whl
- Upload date:
- Size: 48.1 kB
- Tags: CPython 3.12, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
102f1c5734dcb4946f9d1d36046de2b0780d9faea3e6cd33fe84d4239559e215
|
|
| MD5 |
6e1c50d1e3b4b780c3e1fa43eb55fc73
|
|
| BLAKE2b-256 |
490aec9a46ad5d0fa7aa5fb3e175ab9aa795eba042acdde9d7d37cfd12657d45
|
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
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
malwi_box-0.0.8-cp312-cp312-macosx_11_0_arm64.whl -
Subject digest:
102f1c5734dcb4946f9d1d36046de2b0780d9faea3e6cd33fe84d4239559e215 - Sigstore transparency entry: 748763080
- Sigstore integration time:
-
Permalink:
canvascomputing/malwi-box@bebb6a3a96edaed69a2fdd713a89d0e1f5aa1c85 -
Branch / Tag:
refs/tags/0.0.8 - Owner: https://github.com/canvascomputing
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@bebb6a3a96edaed69a2fdd713a89d0e1f5aa1c85 -
Trigger Event:
push
-
Statement type:
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
- Download URL: malwi_box-0.0.8-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 93.8 kB
- Tags: CPython 3.11, manylinux: glibc 2.17+ x86-64, manylinux: glibc 2.5+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1f82adb203a025db1e5e2041f8564fbda881f66255ba055f10fc0a288347a433
|
|
| MD5 |
a509d6b00fd5820c003e1068ba811040
|
|
| BLAKE2b-256 |
e989357cc073eb880110a3d11bf42049f8fff32266d598701b265c7ee29fcdda
|
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
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
malwi_box-0.0.8-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl -
Subject digest:
1f82adb203a025db1e5e2041f8564fbda881f66255ba055f10fc0a288347a433 - Sigstore transparency entry: 748763106
- Sigstore integration time:
-
Permalink:
canvascomputing/malwi-box@bebb6a3a96edaed69a2fdd713a89d0e1f5aa1c85 -
Branch / Tag:
refs/tags/0.0.8 - Owner: https://github.com/canvascomputing
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@bebb6a3a96edaed69a2fdd713a89d0e1f5aa1c85 -
Trigger Event:
push
-
Statement type:
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
- Download URL: malwi_box-0.0.8-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
- Upload date:
- Size: 91.1 kB
- Tags: CPython 3.11, manylinux: glibc 2.17+ i686, manylinux: glibc 2.5+ i686
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8f6d094266ddd265de9c1a39b27e8c7b9bed03abd9da1149c32e54affba93be8
|
|
| MD5 |
1ff77cde1ec8996e4cd65274bc23a2e7
|
|
| BLAKE2b-256 |
ec8da7d0f06e143dbc036746fceaebf8ed9bb9683eca02a2f80a688d4ae35be1
|
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
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
malwi_box-0.0.8-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl -
Subject digest:
8f6d094266ddd265de9c1a39b27e8c7b9bed03abd9da1149c32e54affba93be8 - Sigstore transparency entry: 748763093
- Sigstore integration time:
-
Permalink:
canvascomputing/malwi-box@bebb6a3a96edaed69a2fdd713a89d0e1f5aa1c85 -
Branch / Tag:
refs/tags/0.0.8 - Owner: https://github.com/canvascomputing
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@bebb6a3a96edaed69a2fdd713a89d0e1f5aa1c85 -
Trigger Event:
push
-
Statement type:
File details
Details for the file malwi_box-0.0.8-cp311-cp311-macosx_11_0_arm64.whl.
File metadata
- Download URL: malwi_box-0.0.8-cp311-cp311-macosx_11_0_arm64.whl
- Upload date:
- Size: 48.2 kB
- Tags: CPython 3.11, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
293baef04fe354ce95435816472594f72b3362bda63a652c3f10534283d9627f
|
|
| MD5 |
3461eaa9ffd4a29c1a0ae9f142d6e85f
|
|
| BLAKE2b-256 |
1af87df7e3ff2ae5d7269692797bb87611513393474d572697678948c673ca03
|
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
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
malwi_box-0.0.8-cp311-cp311-macosx_11_0_arm64.whl -
Subject digest:
293baef04fe354ce95435816472594f72b3362bda63a652c3f10534283d9627f - Sigstore transparency entry: 748763111
- Sigstore integration time:
-
Permalink:
canvascomputing/malwi-box@bebb6a3a96edaed69a2fdd713a89d0e1f5aa1c85 -
Branch / Tag:
refs/tags/0.0.8 - Owner: https://github.com/canvascomputing
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@bebb6a3a96edaed69a2fdd713a89d0e1f5aa1c85 -
Trigger Event:
push
-
Statement type:
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
- Download URL: malwi_box-0.0.8-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 93.8 kB
- Tags: CPython 3.10, manylinux: glibc 2.17+ x86-64, manylinux: glibc 2.5+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f50795d707d48a0ea0291caa881f4ddd27e364216dfcb8197f1b85bac032a8c3
|
|
| MD5 |
a52362417018858f58bddd2747c7458b
|
|
| BLAKE2b-256 |
5beca1c81f483ac9c49aaf80dba2773a91b0af2d912e6c40244df71437559e71
|
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
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
malwi_box-0.0.8-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl -
Subject digest:
f50795d707d48a0ea0291caa881f4ddd27e364216dfcb8197f1b85bac032a8c3 - Sigstore transparency entry: 748763101
- Sigstore integration time:
-
Permalink:
canvascomputing/malwi-box@bebb6a3a96edaed69a2fdd713a89d0e1f5aa1c85 -
Branch / Tag:
refs/tags/0.0.8 - Owner: https://github.com/canvascomputing
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@bebb6a3a96edaed69a2fdd713a89d0e1f5aa1c85 -
Trigger Event:
push
-
Statement type:
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
- Download URL: malwi_box-0.0.8-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
- Upload date:
- Size: 91.2 kB
- Tags: CPython 3.10, manylinux: glibc 2.17+ i686, manylinux: glibc 2.5+ i686
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0b6af7c93aaa0281a8214d6108b28abb10895650847fc161685dcaa55f109d1f
|
|
| MD5 |
f96aaacb96545dc86ff447978acb2204
|
|
| BLAKE2b-256 |
f83da945171b16e4f3aa5ab38fec34db7cd458003b2b11ad051513df555fa345
|
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
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
malwi_box-0.0.8-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl -
Subject digest:
0b6af7c93aaa0281a8214d6108b28abb10895650847fc161685dcaa55f109d1f - Sigstore transparency entry: 748763115
- Sigstore integration time:
-
Permalink:
canvascomputing/malwi-box@bebb6a3a96edaed69a2fdd713a89d0e1f5aa1c85 -
Branch / Tag:
refs/tags/0.0.8 - Owner: https://github.com/canvascomputing
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@bebb6a3a96edaed69a2fdd713a89d0e1f5aa1c85 -
Trigger Event:
push
-
Statement type:
File details
Details for the file malwi_box-0.0.8-cp310-cp310-macosx_11_0_arm64.whl.
File metadata
- Download URL: malwi_box-0.0.8-cp310-cp310-macosx_11_0_arm64.whl
- Upload date:
- Size: 48.2 kB
- Tags: CPython 3.10, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
69d1a87fd8a4b13ab1249bfd90498b80c723b66f2c797ae6b7cef53d97191013
|
|
| MD5 |
33e11783ccc5c2d469a9ed9ed1b467b0
|
|
| BLAKE2b-256 |
9f1afeec4e7de81e3e58bd2bdd20978a8db706f30ce4dcd9183c4291e56e93cf
|
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
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
malwi_box-0.0.8-cp310-cp310-macosx_11_0_arm64.whl -
Subject digest:
69d1a87fd8a4b13ab1249bfd90498b80c723b66f2c797ae6b7cef53d97191013 - Sigstore transparency entry: 748763091
- Sigstore integration time:
-
Permalink:
canvascomputing/malwi-box@bebb6a3a96edaed69a2fdd713a89d0e1f5aa1c85 -
Branch / Tag:
refs/tags/0.0.8 - Owner: https://github.com/canvascomputing
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@bebb6a3a96edaed69a2fdd713a89d0e1f5aa1c85 -
Trigger Event:
push
-
Statement type: