Tainted flow: 'req' from os.environ.get (line 153, credential/environment) → urllib.request.urlopen (network output)
Critical
- Category
- Data Flow
- Content
req = urllib.request.Request( f"{api}/beak/spaceducks?duckling_id={cfg.get('duckling_id', '')}", headers={'Accept': 'application/json', 'X-Beak-Key': cfg.get('beak_key', '')}) with urllib.request.urlopen(req, timeout=10) as r: rows = json.loads(r.read()) rows = rows.get('agents', rows.get('spaceducks', [])) mine = next((s for s in rows if s.get('spaceduck_id') == cfg.get('spaceduck_id')), None)- Confidence
- 90% confidence
- Finding
- Credentials or environment variables flow to a network sink. This is a high-confidence indicator of credential exfiltration.
