Tainted flow: 'req' from os.getenv (line 264, credential/environment) → urllib.request.urlopen (network output)
Critical
- Category
- Data Flow
- Content
headers={"Content-Type": "application/json", **{key: value for key, value in headers.items() if value}}, method="POST", ) opener = request.urlopen(req) if not self._settings.timeout else request.urlopen(req, timeout=self._settings.timeout) with opener as response: response_payload = json.loads(response.read().decode("utf-8")) choices = response_payload.get("choices") or []- Confidence
- 97% confidence
- Finding
- The LLM request sends a prompt containing medical record text and diagnosis evidence to a network endpoint whose base URL and credentials are supplied at runtime. That creates a tainted-data exfiltration path for sensitive PHI/medical data and, because the destination is configurable, can also send it to an unintended or attacker-controlled service.
