This is the legitimate cryptography package (PyPI). All 'obfuscated source' findings are false positives from byte literals in test vectors, ASN.1 DER, and KDF test data. No malicious behavior present.
AI breakdown
Plain-English summary of what this package does and how it behaves.
cryptography is a package which provides cryptographic recipes and primitives to Python developers.
Capabilities
- Includes Rust native extensions via Cargo.toml
Data access
- None observed
Network
- No network access observed
Static findings report multiple obfuscated source files and hardcoded public IPs, though the manifest shows no scripts or dependencies and describes a standard cryptography library.
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.2/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.2/tests/hazmat/primitives/test_asym_utils.py
Multiple obfuscation patterns in tests/hazmat/primitives/test_hashes.py
Multiple obfuscation patterns in cryptography-50.0.2/tests/hazmat/primitives/test_hashes.py
Multiple obfuscation patterns in tests/hazmat/primitives/test_poly1305.py
Multiple obfuscation patterns in cryptography-50.0.2/tests/hazmat/primitives/test_poly1305.py
Multiple obfuscation patterns in tests/hazmat/primitives/test_rsa.py
Multiple obfuscation patterns in cryptography-50.0.2/tests/hazmat/primitives/test_rsa.py
Multiple obfuscation patterns in tests/hazmat/primitives/test_scrypt.py
Multiple obfuscation patterns in cryptography-50.0.2/tests/hazmat/primitives/test_scrypt.py
Multiple obfuscation patterns in tests/hazmat/primitives/test_ssh.py
Multiple obfuscation patterns in cryptography-50.0.2/tests/hazmat/primitives/test_ssh.py
Multiple obfuscation patterns in tests/test_utils.py
Multiple obfuscation patterns in cryptography-50.0.2/tests/test_utils.py
Multiple obfuscation patterns in tests/x509/test_x509.py
Multiple obfuscation patterns in cryptography-50.0.2/tests/x509/test_x509.py
Multiple obfuscation patterns in tests/x509/test_x509_ext.py
Multiple obfuscation patterns in cryptography-50.0.2/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.2/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.2/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.2/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.2/tests/hazmat/primitives/test_asym_utils.py
Multiple obfuscation patterns in tests/hazmat/primitives/test_concatkdf.py
Multiple obfuscation patterns in cryptography-50.0.2/tests/hazmat/primitives/test_concatkdf.py
Multiple obfuscation patterns in tests/hazmat/primitives/test_dh.py
Multiple obfuscation patterns in cryptography-50.0.2/tests/hazmat/primitives/test_dh.py
Multiple obfuscation patterns in tests/hazmat/primitives/test_dsa.py
Multiple obfuscation patterns in cryptography-50.0.2/tests/hazmat/primitives/test_dsa.py
Multiple obfuscation patterns in tests/hazmat/primitives/test_ec.py
Multiple obfuscation patterns in cryptography-50.0.2/tests/hazmat/primitives/test_ec.py
Multiple obfuscation patterns in tests/hazmat/primitives/test_ed25519.py
Multiple obfuscation patterns in cryptography-50.0.2/tests/hazmat/primitives/test_ed25519.py
Multiple obfuscation patterns in tests/hazmat/primitives/test_hashes.py
Multiple obfuscation patterns in cryptography-50.0.2/tests/hazmat/primitives/test_hashes.py
Multiple obfuscation patterns in tests/hazmat/primitives/test_hkdf.py
Multiple obfuscation patterns in cryptography-50.0.2/tests/hazmat/primitives/test_hkdf.py
Multiple obfuscation patterns in tests/hazmat/primitives/test_hmac.py
Multiple obfuscation patterns in cryptography-50.0.2/tests/hazmat/primitives/test_hmac.py
Multiple obfuscation patterns in tests/hazmat/primitives/test_hpke.py
Multiple obfuscation patterns in cryptography-50.0.2/tests/hazmat/primitives/test_hpke.py
Multiple obfuscation patterns in tests/hazmat/primitives/test_poly1305.py
Multiple obfuscation patterns in cryptography-50.0.2/tests/hazmat/primitives/test_poly1305.py
Multiple obfuscation patterns in tests/hazmat/primitives/test_rsa.py
Multiple obfuscation patterns in cryptography-50.0.2/tests/hazmat/primitives/test_rsa.py
Multiple obfuscation patterns in tests/hazmat/primitives/test_scrypt.py
Multiple obfuscation patterns in cryptography-50.0.2/tests/hazmat/primitives/test_scrypt.py
Multiple obfuscation patterns in tests/hazmat/primitives/test_serialization.py
Multiple obfuscation patterns in cryptography-50.0.2/tests/hazmat/primitives/test_serialization.py
Multiple obfuscation patterns in tests/hazmat/primitives/test_ssh.py
Multiple obfuscation patterns in cryptography-50.0.2/tests/hazmat/primitives/test_ssh.py
Multiple obfuscation patterns in tests/hazmat/primitives/test_x963kdf.py
Multiple obfuscation patterns in cryptography-50.0.2/tests/hazmat/primitives/test_x963kdf.py
Multiple obfuscation patterns in tests/test_utils.py
Multiple obfuscation patterns in cryptography-50.0.2/tests/test_utils.py
Multiple obfuscation patterns in tests/x509/test_ocsp.py
Multiple obfuscation patterns in cryptography-50.0.2/tests/x509/test_ocsp.py
Multiple obfuscation patterns in tests/x509/test_x509.py
Multiple obfuscation patterns in cryptography-50.0.2/tests/x509/test_x509.py
Multiple obfuscation patterns in tests/x509/test_x509_ext.py
Multiple obfuscation patterns in cryptography-50.0.2/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.2/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.2/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.2/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.2/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.2/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.2/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