Tainted flow: 'audio_url' from os.environ.get (line 423, credential/environment) → requests.get (network output)
Critical
- Category
- Data Flow
- Content
def download_audio(audio_url: str, output_path: str): """Download audio file to local path.""" print(f"\nDownloading audio to: {output_path}") resp = requests.get(audio_url, timeout=120, stream=True) if resp.status_code != 200: print(f"Error: Download failed HTTP {resp.status_code}", file=sys.stderr) sys.exit(1)- Confidence
- 90% confidence
- Finding
- The script downloads and trusts an audio URL returned by the remote API without validating its scheme, hostname, or whether it points to an expected provider-controlled domain. If the upstream service, callback chain, or task result is compromised, this could be abused for SSRF-like outbound requests or retrieval of malicious/unexpected content to the local filesystem.
