Tainted flow: 'url' from os.getenv (line 92, credential/environment) → requests.post (network output)
Critical
- Category
- Data Flow
- Content
"accessToken": access_token } 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 built from the JF_ENDPOINT environment variable and then used for authenticated POST requests carrying headers with uuid, appKey, timeMillis, and signature. If an attacker can influence that environment variable, the script will send signed device-management requests and associated metadata to an attacker-controlled host, creating an SSRF/exfiltration channel for sensitive operational data.
