All findings are false positives on legitimate cryptography test vectors, ASN.1 byte literals, OIDs, and timestamps inside the real cryptography package. No malicious behavior present.
AI breakdown
Plain-English summary of what this package does and how it behaves.
cryptography is a Python package that provides cryptographic recipes and primitives to developers. It includes Python code along with Rust components built via Cargo.
Capabilities
- Provides cryptographic primitives
- Includes Rust extensions
Data access
- None observed
Network
- No network access observed
Widely used legitimate cryptography library with no scripts or dependencies in manifest; numerous static findings for obfuscated files and hardcoded IPs suggest review of the installed package is warranted.
Dependency & execution chain
Every package this one pulls in, colored by verdict. Expand to walk the tree.
Obfuscated / hidden code
Encoded payloads decoded statically (without executing them) so you can see what they resolve to.
Multiple obfuscation patterns in src/rust/cryptography-crypto/src/pkcs12.rs
Multiple obfuscation patterns in cryptography-50.0.0/src/rust/cryptography-crypto/src/pkcs12.rs
Multiple obfuscation patterns in tests/hazmat/primitives/test_asym_utils.py
Multiple obfuscation patterns in cryptography-50.0.0/tests/hazmat/primitives/test_asym_utils.py
Multiple obfuscation patterns in tests/hazmat/primitives/test_hashes.py
Multiple obfuscation patterns in cryptography-50.0.0/tests/hazmat/primitives/test_hashes.py
Multiple obfuscation patterns in tests/hazmat/primitives/test_poly1305.py
Multiple obfuscation patterns in cryptography-50.0.0/tests/hazmat/primitives/test_poly1305.py
Multiple obfuscation patterns in tests/hazmat/primitives/test_rsa.py
Multiple obfuscation patterns in cryptography-50.0.0/tests/hazmat/primitives/test_rsa.py
Multiple obfuscation patterns in tests/hazmat/primitives/test_scrypt.py
Multiple obfuscation patterns in cryptography-50.0.0/tests/hazmat/primitives/test_scrypt.py
Multiple obfuscation patterns in tests/hazmat/primitives/test_ssh.py
Multiple obfuscation patterns in cryptography-50.0.0/tests/hazmat/primitives/test_ssh.py
Multiple obfuscation patterns in tests/test_utils.py
Multiple obfuscation patterns in cryptography-50.0.0/tests/test_utils.py
Multiple obfuscation patterns in tests/x509/test_x509.py
Multiple obfuscation patterns in cryptography-50.0.0/tests/x509/test_x509.py
Multiple obfuscation patterns in tests/x509/test_x509_ext.py
Multiple obfuscation patterns in cryptography-50.0.0/tests/x509/test_x509_ext.py
Security findings (58)
Static analysis rule matches, with the exact code that triggered them.
Multiple obfuscation patterns in src/rust/cryptography-crypto/src/pkcs12.rs
Multiple obfuscation patterns in cryptography-50.0.0/src/rust/cryptography-crypto/src/pkcs12.rs
Multiple obfuscation patterns in src/rust/cryptography-x509-verification/src/lib.rs
Multiple obfuscation patterns in cryptography-50.0.0/src/rust/cryptography-x509-verification/src/lib.rs
Multiple obfuscation patterns in tests/hazmat/primitives/test_aes_gcm.py
Multiple obfuscation patterns in cryptography-50.0.0/tests/hazmat/primitives/test_aes_gcm.py
Multiple obfuscation patterns in tests/hazmat/primitives/test_asym_utils.py
Multiple obfuscation patterns in cryptography-50.0.0/tests/hazmat/primitives/test_asym_utils.py
Multiple obfuscation patterns in tests/hazmat/primitives/test_concatkdf.py
Multiple obfuscation patterns in cryptography-50.0.0/tests/hazmat/primitives/test_concatkdf.py
Multiple obfuscation patterns in tests/hazmat/primitives/test_dh.py
Multiple obfuscation patterns in cryptography-50.0.0/tests/hazmat/primitives/test_dh.py
Multiple obfuscation patterns in tests/hazmat/primitives/test_dsa.py
Multiple obfuscation patterns in cryptography-50.0.0/tests/hazmat/primitives/test_dsa.py
Multiple obfuscation patterns in tests/hazmat/primitives/test_ec.py
Multiple obfuscation patterns in cryptography-50.0.0/tests/hazmat/primitives/test_ec.py
Multiple obfuscation patterns in tests/hazmat/primitives/test_ed25519.py
Multiple obfuscation patterns in cryptography-50.0.0/tests/hazmat/primitives/test_ed25519.py
Multiple obfuscation patterns in tests/hazmat/primitives/test_hashes.py
Multiple obfuscation patterns in cryptography-50.0.0/tests/hazmat/primitives/test_hashes.py
Multiple obfuscation patterns in tests/hazmat/primitives/test_hkdf.py
Multiple obfuscation patterns in cryptography-50.0.0/tests/hazmat/primitives/test_hkdf.py
Multiple obfuscation patterns in tests/hazmat/primitives/test_hmac.py
Multiple obfuscation patterns in cryptography-50.0.0/tests/hazmat/primitives/test_hmac.py
Multiple obfuscation patterns in tests/hazmat/primitives/test_hpke.py
Multiple obfuscation patterns in cryptography-50.0.0/tests/hazmat/primitives/test_hpke.py
Multiple obfuscation patterns in tests/hazmat/primitives/test_poly1305.py
Multiple obfuscation patterns in cryptography-50.0.0/tests/hazmat/primitives/test_poly1305.py
Multiple obfuscation patterns in tests/hazmat/primitives/test_rsa.py
Multiple obfuscation patterns in cryptography-50.0.0/tests/hazmat/primitives/test_rsa.py
Multiple obfuscation patterns in tests/hazmat/primitives/test_scrypt.py
Multiple obfuscation patterns in cryptography-50.0.0/tests/hazmat/primitives/test_scrypt.py
Multiple obfuscation patterns in tests/hazmat/primitives/test_serialization.py
Multiple obfuscation patterns in cryptography-50.0.0/tests/hazmat/primitives/test_serialization.py
Multiple obfuscation patterns in tests/hazmat/primitives/test_ssh.py
Multiple obfuscation patterns in cryptography-50.0.0/tests/hazmat/primitives/test_ssh.py
Multiple obfuscation patterns in tests/hazmat/primitives/test_x963kdf.py
Multiple obfuscation patterns in cryptography-50.0.0/tests/hazmat/primitives/test_x963kdf.py
Multiple obfuscation patterns in tests/test_utils.py
Multiple obfuscation patterns in cryptography-50.0.0/tests/test_utils.py
Multiple obfuscation patterns in tests/x509/test_ocsp.py
Multiple obfuscation patterns in cryptography-50.0.0/tests/x509/test_ocsp.py
Multiple obfuscation patterns in tests/x509/test_x509.py
Multiple obfuscation patterns in cryptography-50.0.0/tests/x509/test_x509.py
Multiple obfuscation patterns in tests/x509/test_x509_ext.py
Multiple obfuscation patterns in cryptography-50.0.0/tests/x509/test_x509_ext.py
File docs/conf.py contains a hardcoded public IP (19:19:14) used in network code — review for hidden exfiltration or C2 endpoints.
File cryptography-50.0.0/docs/conf.py contains a hardcoded public IP (19:19:14) used in network code — review for hidden exfiltration or C2 endpoints.
File src/rust/src/backend/aead.rs contains a hardcoded public IP (Aad::) used in network code — review for hidden exfiltration or C2 endpoints.
File cryptography-50.0.0/src/rust/src/backend/aead.rs contains a hardcoded public IP (Aad::) used in network code — review for hidden exfiltration or C2 endpoints.
File tests/test_utils.py contains a hardcoded public IP (5.6.2.4) used in network code — review for hidden exfiltration or C2 endpoints.
File cryptography-50.0.0/tests/test_utils.py contains a hardcoded public IP (5.6.2.4) used in network code — review for hidden exfiltration or C2 endpoints.
File tests/x509/test_x509.py contains a hardcoded public IP (1.2.3.4) used in network code — review for hidden exfiltration or C2 endpoints.
File cryptography-50.0.0/tests/x509/test_x509.py contains a hardcoded public IP (1.2.3.4) used in network code — review for hidden exfiltration or C2 endpoints.
File tests/x509/test_x509_ext.py contains a hardcoded public IP (2.5.29.19) used in network code — review for hidden exfiltration or C2 endpoints.
File cryptography-50.0.0/tests/x509/test_x509_ext.py contains a hardcoded public IP (2.5.29.19) used in network code — review for hidden exfiltration or C2 endpoints.
File tests/x509/verification/test_verification.py contains a hardcoded public IP (1.2.3.4) used in network code — review for hidden exfiltration or C2 endpoints.
File cryptography-50.0.0/tests/x509/verification/test_verification.py contains a hardcoded public IP (1.2.3.4) used in network code — review for hidden exfiltration or C2 endpoints.
Package metadata
cryptography is a package which provides cryptographic recipes and primitives to Python developers.
Files in package (500)
How ShadowCanopy checks PyPI packages
ShadowCanopy blocks every dependency by default and only lets through what it can verify — against live malicious-package advisories, an AI behavior scan, and a byte-for-byte hash check. It protects installs across npm, PyPI, crates.io, pkg.go.dev, RubyGems, Maven Central, NuGet, Packagist, Hex, pub.dev, Swift Package Manager.
Other PyPI packages
This report reflects ShadowCanopy's threat intelligence at page load and is informational, not a warranty. Canonical URL: https://shadowcanopy.dev/packages/pypi/cryptography