PyPI package intelligence

cryptography — deep security report

ShadowCanopy's full breakdown of cryptography on PyPI: verdict, AI analysis, dependency chain, network behavior, prebuilds, and obfuscated code.

Safe to use
Deep-scanned by ShadowCanopy — no threats found in its code, dependencies, or network behavior.
Scanned 8/8/2026
Approvedcryptography@50.0.0View on registry ↗latest: 50.0.0

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.

Protect your projects free

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.

4 packages3 direct
cryptography@50.0.058 findings
cffi@2.1.1
typing-extensions@4.16.04 findings

Obfuscated / hidden code

Encoded payloads decoded statically (without executing them) so you can see what they resolve to.

Obfuscated source filesrc/rust/cryptography-crypto/src/pkcs12.rs

Multiple obfuscation patterns in src/rust/cryptography-crypto/src/pkcs12.rs

Obfuscated source filecryptography-50.0.0/src/rust/cryptography-crypto/src/pkcs12.rs

Multiple obfuscation patterns in cryptography-50.0.0/src/rust/cryptography-crypto/src/pkcs12.rs

Obfuscated source filetests/hazmat/primitives/test_asym_utils.py

Multiple obfuscation patterns in tests/hazmat/primitives/test_asym_utils.py

Obfuscated source filecryptography-50.0.0/tests/hazmat/primitives/test_asym_utils.py

Multiple obfuscation patterns in cryptography-50.0.0/tests/hazmat/primitives/test_asym_utils.py

Obfuscated source filetests/hazmat/primitives/test_hashes.py

Multiple obfuscation patterns in tests/hazmat/primitives/test_hashes.py

Obfuscated source filecryptography-50.0.0/tests/hazmat/primitives/test_hashes.py

Multiple obfuscation patterns in cryptography-50.0.0/tests/hazmat/primitives/test_hashes.py

Obfuscated source filetests/hazmat/primitives/test_poly1305.py

Multiple obfuscation patterns in tests/hazmat/primitives/test_poly1305.py

Obfuscated source filecryptography-50.0.0/tests/hazmat/primitives/test_poly1305.py

Multiple obfuscation patterns in cryptography-50.0.0/tests/hazmat/primitives/test_poly1305.py

Obfuscated source filetests/hazmat/primitives/test_rsa.py

Multiple obfuscation patterns in tests/hazmat/primitives/test_rsa.py

Obfuscated source filecryptography-50.0.0/tests/hazmat/primitives/test_rsa.py

Multiple obfuscation patterns in cryptography-50.0.0/tests/hazmat/primitives/test_rsa.py

Obfuscated source filetests/hazmat/primitives/test_scrypt.py

Multiple obfuscation patterns in tests/hazmat/primitives/test_scrypt.py

Obfuscated source filecryptography-50.0.0/tests/hazmat/primitives/test_scrypt.py

Multiple obfuscation patterns in cryptography-50.0.0/tests/hazmat/primitives/test_scrypt.py

Obfuscated source filetests/hazmat/primitives/test_ssh.py

Multiple obfuscation patterns in tests/hazmat/primitives/test_ssh.py

Obfuscated source filecryptography-50.0.0/tests/hazmat/primitives/test_ssh.py

Multiple obfuscation patterns in cryptography-50.0.0/tests/hazmat/primitives/test_ssh.py

Obfuscated source filetests/test_utils.py

Multiple obfuscation patterns in tests/test_utils.py

Obfuscated source filecryptography-50.0.0/tests/test_utils.py

Multiple obfuscation patterns in cryptography-50.0.0/tests/test_utils.py

Obfuscated source filetests/x509/test_x509.py

Multiple obfuscation patterns in tests/x509/test_x509.py

Obfuscated source filecryptography-50.0.0/tests/x509/test_x509.py

Multiple obfuscation patterns in cryptography-50.0.0/tests/x509/test_x509.py

Obfuscated source filetests/x509/test_x509_ext.py

Multiple obfuscation patterns in tests/x509/test_x509_ext.py

Obfuscated source filecryptography-50.0.0/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.

mediumObfuscated source fileATK-023src/rust/cryptography-crypto/src/pkcs12.rs

Multiple obfuscation patterns in src/rust/cryptography-crypto/src/pkcs12.rs

mediumObfuscated source fileATK-023cryptography-50.0.0/src/rust/cryptography-crypto/src/pkcs12.rs

Multiple obfuscation patterns in cryptography-50.0.0/src/rust/cryptography-crypto/src/pkcs12.rs

mediumObfuscated source fileATK-023src/rust/cryptography-x509-verification/src/lib.rs

Multiple obfuscation patterns in src/rust/cryptography-x509-verification/src/lib.rs

mediumObfuscated source fileATK-023cryptography-50.0.0/src/rust/cryptography-x509-verification/src/lib.rs

Multiple obfuscation patterns in cryptography-50.0.0/src/rust/cryptography-x509-verification/src/lib.rs

mediumObfuscated source fileATK-023tests/hazmat/primitives/test_aes_gcm.py

Multiple obfuscation patterns in tests/hazmat/primitives/test_aes_gcm.py

mediumObfuscated source fileATK-023cryptography-50.0.0/tests/hazmat/primitives/test_aes_gcm.py

Multiple obfuscation patterns in cryptography-50.0.0/tests/hazmat/primitives/test_aes_gcm.py

mediumObfuscated source fileATK-023tests/hazmat/primitives/test_asym_utils.py

Multiple obfuscation patterns in tests/hazmat/primitives/test_asym_utils.py

mediumObfuscated source fileATK-023cryptography-50.0.0/tests/hazmat/primitives/test_asym_utils.py

Multiple obfuscation patterns in cryptography-50.0.0/tests/hazmat/primitives/test_asym_utils.py

mediumObfuscated source fileATK-023tests/hazmat/primitives/test_concatkdf.py

Multiple obfuscation patterns in tests/hazmat/primitives/test_concatkdf.py

mediumObfuscated source fileATK-023cryptography-50.0.0/tests/hazmat/primitives/test_concatkdf.py

Multiple obfuscation patterns in cryptography-50.0.0/tests/hazmat/primitives/test_concatkdf.py

mediumObfuscated source fileATK-023tests/hazmat/primitives/test_dh.py

Multiple obfuscation patterns in tests/hazmat/primitives/test_dh.py

mediumObfuscated source fileATK-023cryptography-50.0.0/tests/hazmat/primitives/test_dh.py

Multiple obfuscation patterns in cryptography-50.0.0/tests/hazmat/primitives/test_dh.py

mediumObfuscated source fileATK-023tests/hazmat/primitives/test_dsa.py

Multiple obfuscation patterns in tests/hazmat/primitives/test_dsa.py

mediumObfuscated source fileATK-023cryptography-50.0.0/tests/hazmat/primitives/test_dsa.py

Multiple obfuscation patterns in cryptography-50.0.0/tests/hazmat/primitives/test_dsa.py

mediumObfuscated source fileATK-023tests/hazmat/primitives/test_ec.py

Multiple obfuscation patterns in tests/hazmat/primitives/test_ec.py

mediumObfuscated source fileATK-023cryptography-50.0.0/tests/hazmat/primitives/test_ec.py

Multiple obfuscation patterns in cryptography-50.0.0/tests/hazmat/primitives/test_ec.py

mediumObfuscated source fileATK-023tests/hazmat/primitives/test_ed25519.py

Multiple obfuscation patterns in tests/hazmat/primitives/test_ed25519.py

mediumObfuscated source fileATK-023cryptography-50.0.0/tests/hazmat/primitives/test_ed25519.py

Multiple obfuscation patterns in cryptography-50.0.0/tests/hazmat/primitives/test_ed25519.py

mediumObfuscated source fileATK-023tests/hazmat/primitives/test_hashes.py

Multiple obfuscation patterns in tests/hazmat/primitives/test_hashes.py

mediumObfuscated source fileATK-023cryptography-50.0.0/tests/hazmat/primitives/test_hashes.py

Multiple obfuscation patterns in cryptography-50.0.0/tests/hazmat/primitives/test_hashes.py

mediumObfuscated source fileATK-023tests/hazmat/primitives/test_hkdf.py

Multiple obfuscation patterns in tests/hazmat/primitives/test_hkdf.py

mediumObfuscated source fileATK-023cryptography-50.0.0/tests/hazmat/primitives/test_hkdf.py

Multiple obfuscation patterns in cryptography-50.0.0/tests/hazmat/primitives/test_hkdf.py

mediumObfuscated source fileATK-023tests/hazmat/primitives/test_hmac.py

Multiple obfuscation patterns in tests/hazmat/primitives/test_hmac.py

mediumObfuscated source fileATK-023cryptography-50.0.0/tests/hazmat/primitives/test_hmac.py

Multiple obfuscation patterns in cryptography-50.0.0/tests/hazmat/primitives/test_hmac.py

mediumObfuscated source fileATK-023tests/hazmat/primitives/test_hpke.py

Multiple obfuscation patterns in tests/hazmat/primitives/test_hpke.py

mediumObfuscated source fileATK-023cryptography-50.0.0/tests/hazmat/primitives/test_hpke.py

Multiple obfuscation patterns in cryptography-50.0.0/tests/hazmat/primitives/test_hpke.py

mediumObfuscated source fileATK-023tests/hazmat/primitives/test_poly1305.py

Multiple obfuscation patterns in tests/hazmat/primitives/test_poly1305.py

mediumObfuscated source fileATK-023cryptography-50.0.0/tests/hazmat/primitives/test_poly1305.py

Multiple obfuscation patterns in cryptography-50.0.0/tests/hazmat/primitives/test_poly1305.py

mediumObfuscated source fileATK-023tests/hazmat/primitives/test_rsa.py

Multiple obfuscation patterns in tests/hazmat/primitives/test_rsa.py

mediumObfuscated source fileATK-023cryptography-50.0.0/tests/hazmat/primitives/test_rsa.py

Multiple obfuscation patterns in cryptography-50.0.0/tests/hazmat/primitives/test_rsa.py

mediumObfuscated source fileATK-023tests/hazmat/primitives/test_scrypt.py

Multiple obfuscation patterns in tests/hazmat/primitives/test_scrypt.py

mediumObfuscated source fileATK-023cryptography-50.0.0/tests/hazmat/primitives/test_scrypt.py

Multiple obfuscation patterns in cryptography-50.0.0/tests/hazmat/primitives/test_scrypt.py

mediumObfuscated source fileATK-023tests/hazmat/primitives/test_serialization.py

Multiple obfuscation patterns in tests/hazmat/primitives/test_serialization.py

mediumObfuscated source fileATK-023cryptography-50.0.0/tests/hazmat/primitives/test_serialization.py

Multiple obfuscation patterns in cryptography-50.0.0/tests/hazmat/primitives/test_serialization.py

mediumObfuscated source fileATK-023tests/hazmat/primitives/test_ssh.py

Multiple obfuscation patterns in tests/hazmat/primitives/test_ssh.py

mediumObfuscated source fileATK-023cryptography-50.0.0/tests/hazmat/primitives/test_ssh.py

Multiple obfuscation patterns in cryptography-50.0.0/tests/hazmat/primitives/test_ssh.py

mediumObfuscated source fileATK-023tests/hazmat/primitives/test_x963kdf.py

Multiple obfuscation patterns in tests/hazmat/primitives/test_x963kdf.py

mediumObfuscated source fileATK-023cryptography-50.0.0/tests/hazmat/primitives/test_x963kdf.py

Multiple obfuscation patterns in cryptography-50.0.0/tests/hazmat/primitives/test_x963kdf.py

mediumObfuscated source fileATK-023tests/test_utils.py

Multiple obfuscation patterns in tests/test_utils.py

mediumObfuscated source fileATK-023cryptography-50.0.0/tests/test_utils.py

Multiple obfuscation patterns in cryptography-50.0.0/tests/test_utils.py

mediumObfuscated source fileATK-023tests/x509/test_ocsp.py

Multiple obfuscation patterns in tests/x509/test_ocsp.py

mediumObfuscated source fileATK-023cryptography-50.0.0/tests/x509/test_ocsp.py

Multiple obfuscation patterns in cryptography-50.0.0/tests/x509/test_ocsp.py

mediumObfuscated source fileATK-023tests/x509/test_x509.py

Multiple obfuscation patterns in tests/x509/test_x509.py

mediumObfuscated source fileATK-023cryptography-50.0.0/tests/x509/test_x509.py

Multiple obfuscation patterns in cryptography-50.0.0/tests/x509/test_x509.py

mediumObfuscated source fileATK-023tests/x509/test_x509_ext.py

Multiple obfuscation patterns in tests/x509/test_x509_ext.py

mediumObfuscated source fileATK-023cryptography-50.0.0/tests/x509/test_x509_ext.py

Multiple obfuscation patterns in cryptography-50.0.0/tests/x509/test_x509_ext.py

highHardcoded public IP in network codeATK-028docs/conf.py

File docs/conf.py contains a hardcoded public IP (19:19:14) used in network code — review for hidden exfiltration or C2 endpoints.

highHardcoded public IP in network codeATK-028cryptography-50.0.0/docs/conf.py

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.

highHardcoded public IP in network codeATK-028src/rust/src/backend/aead.rs

File src/rust/src/backend/aead.rs contains a hardcoded public IP (Aad::) used in network code — review for hidden exfiltration or C2 endpoints.

highHardcoded public IP in network codeATK-028cryptography-50.0.0/src/rust/src/backend/aead.rs

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.

highHardcoded public IP in network codeATK-028tests/test_utils.py

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.

highHardcoded public IP in network codeATK-028cryptography-50.0.0/tests/test_utils.py

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.

highHardcoded public IP in network codeATK-028tests/x509/test_x509.py

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.

highHardcoded public IP in network codeATK-028cryptography-50.0.0/tests/x509/test_x509.py

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.

highHardcoded public IP in network codeATK-028tests/x509/test_x509_ext.py

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.

highHardcoded public IP in network codeATK-028cryptography-50.0.0/tests/x509/test_x509_ext.py

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.

highHardcoded public IP in network codeATK-028tests/x509/verification/test_verification.py

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.

highHardcoded public IP in network codeATK-028cryptography-50.0.0/tests/x509/verification/test_verification.py

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

LicenseUnknown

cryptography is a package which provides cryptographic recipes and primitives to Python developers.

Files in package (500)

PKG-INFOcryptography-50.0.0/PKG-INFO.gitattributescryptography-50.0.0/.gitattributes.gitignorecryptography-50.0.0/.gitignoreAGENTS.mdcryptography-50.0.0/AGENTS.mdCHANGELOG.rstcryptography-50.0.0/CHANGELOG.rstCLAUDE.mdcryptography-50.0.0/CLAUDE.mdCONTRIBUTING.rstcryptography-50.0.0/CONTRIBUTING.rstCargo.lockcryptography-50.0.0/Cargo.lockCargo.tomlcryptography-50.0.0/Cargo.tomlLICENSEcryptography-50.0.0/LICENSELICENSE.APACHEcryptography-50.0.0/LICENSE.APACHELICENSE.BSDcryptography-50.0.0/LICENSE.BSDREADME.rstcryptography-50.0.0/README.rstdocs/Makefilecryptography-50.0.0/docs/Makefiledocs/_ext/cryptography-docs.pycryptography-50.0.0/docs/_ext/cryptography-docs.pydocs/_ext/linkcode_res.pycryptography-50.0.0/docs/_ext/linkcode_res.pydocs/_templates/layout.htmlcryptography-50.0.0/docs/_templates/layout.htmldocs/api-stability.rstcryptography-50.0.0/docs/api-stability.rstdocs/changelog.rstcryptography-50.0.0/docs/changelog.rstdocs/cobblestone.rstcryptography-50.0.0/docs/cobblestone.rst

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.

Protect your projects freeSee what's being blocked

This report reflects ShadowCanopy's threat intelligence at page load and is informational, not a warranty. Canonical URL: https://shadowcanopy.dev/packages/pypi/cryptography