Check the report below, then download or share it. Download PDF Open PDF Back to results

MalDet · Static Security Report

requests

github.com/psf/requests
Scanned 29 October 2026 at 09:27  ·  Report generated 29 October 2026  ·  Python  ·  54,597 stars
Overall assessment
Low
Combined score 5  ·  29 findings after filtering

Summary

2 findings likely need attention, 26 look like noise. Most notable: Detected SHA1 hash algorithm which is considered insecure. SHA1 is not collision resist... (52% confidence).

Generated from finding counts. A plain-English summary was not available for this scan.

Risk, by type

MalDet scores two different questions separately, because they call for different responses: code can be badly written without being hostile, and hostile code is not always badly written.

Vulnerability
Low (5)
Insecure coding an attacker could exploit. Usually mistakes, and usually fixable in place.
Malicious pattern
Safe (0)
Signs the code may be trying to do harm: hidden payloads, credential access, persistence, exfiltration.

What each detector found

DetectorLooks for HighMediumLowTotal
bandit Insecure coding patterns in Python source 0 0 16 16
dep_checker Vulnerable, unpinned or typosquatted dependencies 0 0 6 6
yara Signatures of malicious behaviour in source files 0 0 4 4
semgrep Insecure coding patterns across many languages 0 3 0 3

2 of 29 findings were rated more likely genuine than noise by the classifier.

Evidence

Identical findings are grouped, so a single rule firing many times takes one row. Ordered worst first. “Seen” is how many times that finding occurred.

SeverityDetectorFindingSeenExample location
medium semgrep Detected SHA1 hash algorithm which is considered insecure. SHA1 is not collision resistant and is therefore not suitable as a cryptographic signature. Use SHA256 or SHA3 instead. 2 /src/requests/auth.py:187
medium semgrep Untrusted user input in `importlib.import_module()` function allows an attacker to load arbitrary code. Avoid dynamic values in `importlib.import_module()` or use a whitelist to prevent running untrusted code. 1 /src/requests/compat.py:42
low dep_checker Loose version constraint: 'PySocks>=1.5.6, !=1.5.7' — attacker could push malicious update 1 pyproject.toml
low dep_checker Loose version constraint: 'certifi>=2023.5.7' — attacker could push malicious update 1 pyproject.toml
low dep_checker Loose version constraint: 'chardet>=3.0.2,<8' — attacker could push malicious update 1 pyproject.toml
low dep_checker Loose version constraint: 'charset_normalizer>=2,<4' — attacker could push malicious update 1 pyproject.toml
low dep_checker Loose version constraint: 'idna>=2.5,<4' — attacker could push malicious update 1 pyproject.toml
low dep_checker Loose version constraint: 'urllib3>=1.26,<3' — attacker could push malicious update 1 pyproject.toml
low yara YARA rule matched: detect_downloader — Downloads a remote resource - common and low-signal alone; see detect_download_and_execute for the composite version 4 /README.md
low bandit Use of assert detected. The enclosed code will be removed when compiling to optimised byte code. 16 /src/requests/adapters.py:581

How to read this report