Tainted flow: 'results' from requests.get (line 115, network input) → requests.get (network output)
Medium
- Category
- Data Flow
- Content
results = result.get("output", {}).get("results") or [] if not results or not results[0].get("url"): raise CoverGenerationError("通义千问任务成功但未返回图片 URL") image_response = requests.get(results[0]["url"], timeout=120) image_response.raise_for_status() return image_response.content if task_status in {"FAILED", "CANCELED"}:- Confidence
- 93% confidence
- Finding
- The code fetches results[0]["url"] directly from remote API output without validating the destination host or scheme. If the upstream service, a compromised account, or a hostile proxy returns an arbitrary URL, the skill can be induced to make server-side requests to unintended internal or external resources, creating an SSRF-style primitive.
