Tainted flow: 'req' from os.environ.get (line 45, credential/environment) → urllib.request.urlopen (network output)
Critical
- Category
- Data Flow
- Content
"Accept": "application/json", }) try: with urllib.request.urlopen(req, timeout=10) as resp: return json.loads(resp.read().decode()) except Exception as e: print(f"⚠️ API request failed: {e}")- Confidence
- 88% confidence
- Finding
- The request URL is built from the LOBSTER_API environment variable and then fetched without any allowlist or validation. In this launcher, that means a local or upstream attacker who can influence environment/configuration can redirect the process to arbitrary hosts, causing SSRF-style outbound requests and allowing untrusted remote configuration to control later process launches.
