requests 2.34.2
- Source
- https://github.com/psf/requests
- Artifact scanned
requests-2.34.2-py3-none-any.whl- Compared with
requests-2.34.1-py3-none-any.whl(0 signals introduced since)- Files
- 20 scanned, 6 skipped (binary, oversized, or unrecognised)
- Signals
- 0 critical · 0 warn · 2 info
- Scan time
- 9.7 s
- LLM review
- Reviewed by claude-haiku-5-5 (Anthropic): 2 of 2 warn and critical signals; 2 demoted to info.
- Disclude version
- 4.3.0
- Scanned (UTC)
- 2026-10-22 23:15
Signals
Ordered by severity, then signals introduced in this release. Hidden characters are shown as ⟨U+…⟩.
-
= # This traversal is apparently necessary such that the identities are # preserved (requests.packages.urllib3.* is urllib3.*)likely benign Compatibility shim in requests that exposes urllib3 and idna under requests.packages via locals().Reasoning
This is the well-known requests compatibility shim that aliases urllib3 and idna into the requests.packages namespace. The comment explains the intent, and the loop covers only two fixed, known package names. Reaching modules by name through locals() is unusual style but not malicious.
-
= # This traversal is apparently necessary such that the identities are # preserved (requests.packages.urllib3.* is urllib3.*)likely benign Dynamic __import__ over a fixed tuple of urllib3 and idna inside the requests compatibility shim.Reasoning
__import__ is called on a non-literal variable, which the scanner flags critical, but the variable iterates over a hardcoded tuple of two known dependencies. There is no decoding, network access, or remote input. The pattern is a legitimate, if dated, dynamic import in a known library, so the severity is overstated for this context.
Reproduce This Scan
Run disclude locally to verify. These commands scan the published file; the "new in this release" marks come from comparing it with the previous release's file, which they don't repeat. Add --format sarif for SARIF output. Add --llm (with an API key in the environment) to include the LLM review.
|