Tainted flow: 'image_url' from os.getenv (line 597, credential/environment) → requests.get (network output)
Critical
- Category
- Data Flow
- Content
if not (image_url.startswith("http://") or image_url.startswith("https://")): raise ValueError("image_url must start with http:// or https://") download_resp = requests.get(image_url, timeout=30) download_resp.raise_for_status() content_type = download_resp.headers.get("content-type", "").lower() ext = ".jpg"- Confidence
- 98% confidence
- Finding
- The skill fetches arbitrary user-supplied image URLs server-side with requests.get and then uploads the retrieved content to another service. This is a classic SSRF primitive that can be used to probe internal services, reach cloud metadata endpoints, or exfiltrate intranet-accessible content through the subsequent upload path.
