Tainted flow: 'url' from os.getenv (line 91, credential/environment) → requests.post (network output)
Critical
- Category
- Data Flow
- Content
if channel is not None: body["Channel"] = str(channel) response = requests.post(url, headers=headers, json=body, timeout=30) result = response.json() if result.get("code") != 2000:- Confidence
- 94% confidence
- Finding
- The request URL is derived from JF_ENDPOINT, which comes from an environment variable and is used directly in requests.post while sending authentication headers including uuid, appKey, timeMillis, and signature. If an attacker can influence the runtime environment, they can redirect these signed requests and device identifiers to an attacker-controlled host, causing credential leakage and unauthorized outbound communication.
