Tainted flow: 'ASR_ENDPOINT' from os.getenv (line 39, credential/environment) → requests.post (network output)
Critical
- Category
- Data Flow
- Content
} log("正在调用火山引擎 ASR...") resp = requests.post(ASR_ENDPOINT, json=payload, headers=headers, timeout=60) status_code = resp.headers.get("X-Api-Status-Code", "") if status_code != "20000000":- Confidence
- 86% confidence
- Finding
- The ASR endpoint is fully overrideable via the MODEL_SPEECH_ASR_API_BASE environment variable, and the script posts base64-encoded audio plus authentication headers to that URL. In agent/runtime environments where untrusted parties can influence environment configuration, this becomes an exfiltration primitive that can redirect sensitive audio and API credentials to an attacker-controlled server.
