Tainted flow: 'url' from os.getenv (line 328, credential/environment) → requests.get (network output)
Critical
- Category
- Data Flow
- Content
headers = get_headers(uuid, app_key, app_secret, move_card) headers["DeviceSn"] = device_sn response = requests.get(url, headers=headers, timeout=30) result = response.json() if result.get("code") != 2000:- Confidence
- 93% confidence
- Finding
- The request destination is derived from the JF_ENDPOINT environment variable, so anyone who can influence runtime environment can redirect signed requests and device identifiers to an attacker-controlled host. Because the code sends authentication headers including uuid, appKey, timeMillis, and signature, this becomes an SSRF/exfiltration risk rather than a harmless configuration feature.
