Tainted flow: 'url' from os.environ.get (line 235, credential/environment) → requests.post (network output)
Critical
- Category
- Data Flow
- Content
except RuntimeError as e: return {"_error": str(e)} try: r = requests.post(url, json=body or {}, headers=headers, timeout=timeout) return r.json() except Exception as e: body_text = ""- Confidence
- 95% confidence
- Finding
- The POST target URL is derived from helper functions that read environment variables such as LINKFOX_LOGIN_API_URL and LINKFOX_AGENT_USER_API_URL, and the request may carry SMS login data, access tokens, refresh tokens, and generated API keys. If an attacker can influence the environment, they can redirect these requests to an attacker-controlled host and exfiltrate sensitive credentials. In a skill context, this is more dangerous because skills often run in shared automation environments where env configuration is externally supplied.
