Tainted flow: 'request' from os.environ.get (line 67, credential/environment) → urllib.request.urlopen (network output)
Critical
- Category
- Data Flow
- Content
method="POST", ) try: with urllib.request.urlopen(request, timeout=60) as response: result = parse_payload(response.read(), response.headers.get("content-type", "")) return result, response.headers.get("mcp-session-id") or session_id except urllib.error.HTTPError as error:- Confidence
- 89% confidence
- Finding
- The script allows AI_HIVE_MCP_URL from the environment to control the POST destination while also attaching API credentials from environment variables. If an attacker can influence the environment, they can redirect requests to an arbitrary server and capture the API key or bearer token via request headers.
