Tainted flow: 'base_url' from os.environ.get (line 51, credential/environment) → requests.post (network output)
Critical
- Category
- Data Flow
- Content
with open(args.file, "rb") as fh: files = {"file": (os.path.basename(args.file), fh)} resp = requests.post( f"{base_url}{TRANSCRIBE_PATH}", headers=headers, data=data,- Confidence
- 91% confidence
- Finding
- The request destination is derived from the SENSEAUDIO_BASE_URL environment variable and is used directly in requests.post while also attaching the Bearer API key and uploading the audio file. If an attacker can influence the environment, they can redirect the request to an attacker-controlled host, causing credential exfiltration and leakage of potentially sensitive voice data; in this skill context, that also exposes user speech content handled by the transcription feature.
