Tainted flow: 'req' from os.environ.get (line 56, credential/environment) → urllib.request.urlopen (network output)
Critical
- Category
- Data Flow
- Content
method="POST", ) try: with urllib.request.urlopen(req, timeout=30) as resp: body = resp.read().decode("utf-8") return json.loads(body) if body else {} except urllib.error.HTTPError as exc:- Confidence
- 93% confidence
- Finding
- The destination URL is taken from the VISUAL_STUDIO_API_URL environment variable and used directly in urllib.request.urlopen, so anyone who can influence the runtime environment can redirect submissions and the Authorization bearer token plus signed payload to an attacker-controlled endpoint. In this skill context, that is especially dangerous because the script is explicitly built to transmit generated media metadata, prompt text, and a secret API key to a remote service.
