Tainted flow: 'image_url' from requests.post (line 163, network input) → requests.get (network output)
Medium
- Category
- Data Flow
- Content
output_path.parent.mkdir(parents=True, exist_ok=True) print("Downloading image...") img_response = requests.get(image_url, timeout=30, verify=not args.no_verify_ssl) img_response.raise_for_status() # Save the image- Confidence
- 93% confidence
- Finding
- The script trusts an image URL returned by the remote API and immediately fetches it with requests.get, creating a server-side request forgery style sink if the upstream service is compromised or returns attacker-controlled URLs. In an agent context, this can be abused to make outbound requests to arbitrary hosts, including internal metadata or intranet endpoints, and then save the response locally as if it were an image.
