PyPI package intelligence

requests — deep security report

ShadowCanopy's full breakdown of requests 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/7/2026
Approvedrequests@2.34.2View on registry ↗latest: 2.34.2

This is the legitimate, well-known 'requests' HTTP library (v2.34.2). All findings are false positives from heuristics misfiring on normal code: hex escapes and base64 in tests, URI character sets, optional cryptography import, cookie expiration strings, and test IPs like 8.8.8.8. No malicious behavior present.

Protect your projects free

AI breakdown

Plain-English summary of what this package does and how it behaves.

The requests package is a Python HTTP library described as 'Python HTTP for Humans.' It provides modules for sending HTTP requests, managing sessions, authentication, cookies, and related utilities.

Capabilities

  • Makes HTTP requests
  • Manages sessions and cookies
  • Supports authentication methods
  • Handles response models and status codes

Data access

  • Filesystem (certs.py and related files)
  • Environment variables

Network

  • Makes outbound HTTP requests

Static findings flag multiple instances of obfuscated source files, dynamic module loads with remote sources, and hardcoded public IPs. The manifest shows no scripts or dependencies and the package is a well-known HTTP client.

Dependency & execution chain

Every package this one pulls in, colored by verdict. Expand to walk the tree.

10 packages5 direct
requests@2.34.216 findings
charset_normalizer@3.4.910 findings
idna@3.184 findings
urllib3@2.7.040 findings
certifi@2026.7.22

Security findings (16)

Static analysis rule matches, with the exact code that triggered them.

mediumObfuscated source fileATK-023src/requests/utils.py

Multiple obfuscation patterns in src/requests/utils.py

mediumObfuscated source fileATK-023requests-2.34.2/src/requests/utils.py

Multiple obfuscation patterns in requests-2.34.2/src/requests/utils.py

mediumObfuscated source fileATK-023tests/test_requests.py

Multiple obfuscation patterns in tests/test_requests.py

mediumObfuscated source fileATK-023requests-2.34.2/tests/test_requests.py

Multiple obfuscation patterns in requests-2.34.2/tests/test_requests.py

mediumObfuscated source fileATK-023tests/test_utils.py

Multiple obfuscation patterns in tests/test_utils.py

mediumObfuscated source fileATK-023requests-2.34.2/tests/test_utils.py

Multiple obfuscation patterns in requests-2.34.2/tests/test_utils.py

highDynamic module load with remote sourceATK-027src/requests/__init__.py

File src/requests/__init__.py builds a dynamic import/require argument alongside network access — possible remote module loading.

highDynamic module load with remote sourceATK-027requests-2.34.2/src/requests/__init__.py

File requests-2.34.2/src/requests/__init__.py builds a dynamic import/require argument alongside network access — possible remote module loading.

highDynamic module load with remote sourceATK-027src/requests/models.py

File src/requests/models.py builds a dynamic import/require argument alongside network access — possible remote module loading.

highDynamic module load with remote sourceATK-027requests-2.34.2/src/requests/models.py

File requests-2.34.2/src/requests/models.py builds a dynamic import/require argument alongside network access — possible remote module loading.

highDynamic module load with remote sourceATK-027tests/test_requests.py

File tests/test_requests.py builds a dynamic import/require argument alongside network access — possible remote module loading.

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

File tests/test_requests.py contains a hardcoded public IP (00:00:01) used in network code — review for hidden exfiltration or C2 endpoints.

highDynamic module load with remote sourceATK-027requests-2.34.2/tests/test_requests.py

File requests-2.34.2/tests/test_requests.py builds a dynamic import/require argument alongside network access — possible remote module loading.

highHardcoded public IP in network codeATK-028requests-2.34.2/tests/test_requests.py

File requests-2.34.2/tests/test_requests.py contains a hardcoded public IP (00:00:01) 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 (8.8.8.8) used in network code — review for hidden exfiltration or C2 endpoints.

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

File requests-2.34.2/tests/test_utils.py contains a hardcoded public IP (8.8.8.8) used in network code — review for hidden exfiltration or C2 endpoints.

Package metadata

LicenseApache-2.0

Python HTTP for Humans.

Files in package (166)

HISTORY.mdrequests-2.34.2/HISTORY.mdLICENSErequests-2.34.2/LICENSEMANIFEST.inrequests-2.34.2/MANIFEST.inNOTICErequests-2.34.2/NOTICEPKG-INFOrequests-2.34.2/PKG-INFOREADME.mdrequests-2.34.2/README.mdpyproject.tomlrequests-2.34.2/pyproject.tomlrequirements-dev.txtrequests-2.34.2/requirements-dev.txtsetup.cfgrequests-2.34.2/setup.cfgsetup.pyrequests-2.34.2/setup.pysrc/requests/__init__.pyrequests-2.34.2/src/requests/__init__.pysrc/requests/__version__.pyrequests-2.34.2/src/requests/__version__.pysrc/requests/_internal_utils.pyrequests-2.34.2/src/requests/_internal_utils.pysrc/requests/_types.pyrequests-2.34.2/src/requests/_types.pysrc/requests/adapters.pyrequests-2.34.2/src/requests/adapters.pysrc/requests/api.pyrequests-2.34.2/src/requests/api.pysrc/requests/auth.pyrequests-2.34.2/src/requests/auth.pysrc/requests/certs.pyrequests-2.34.2/src/requests/certs.pysrc/requests/compat.pyrequests-2.34.2/src/requests/compat.pysrc/requests/cookies.pyrequests-2.34.2/src/requests/cookies.py

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/requests