Tainted flow: 'req' from os.environ.get (line 22, credential/environment) → urllib.request.urlopen (network output)
Critical
- Category
- Data Flow
- Content
method="POST", ) try: with urllib.request.urlopen(req, timeout=60) as resp: body = json.loads(resp.read().decode("utf-8")) except urllib.error.URLError as e: raise RuntimeError(f"网络请求异常,请确认服务地址 {CREATE_ORDER_URL} 可达: {e}") from e- Confidence
- 95% confidence
- Finding
- The request destination is derived from the SKILL_SERVER_BASE_URL environment variable and then used directly in urlopen, allowing an attacker who can influence the environment to redirect sensitive user-supplied invention details and payment-related metadata to an arbitrary host. Because the default is plain HTTP, the transmission is also vulnerable to interception or tampering in transit, which is especially risky for confidential patent ideas and order/payment flow data.
