Tainted flow: 'req' from os.environ.get (line 212, credential/environment) → urllib.request.urlopen (network output)
Critical
- Category
- Data Flow
- Content
}) try: with urllib.request.urlopen(req, timeout=300) as resp: return json.loads(resp.read()) except urllib.error.HTTPError as e: error_body = e.read().decode() if e.fp else ""- Confidence
- 91% confidence
- Finding
- The upload request includes the API key from environment or .env in the Authorization header and transmits local media plus metadata to an external service. This is intended behavior for the skill, but it is still a real sensitive-data egress capability: if the configured endpoint were changed, intercepted via local compromise, or abused in an unexpected context, credentials and private media could be exposed.
