Tainted flow: 'model_url' from requests.get (line 179, network input) → requests.get (network output)
Medium
- Category
- Data Flow
- Content
model_url = status_data.get("output", {}).get("model", "") if model_url: output_path = OUTPUT_DIR / f"{img_path.stem}_model.glb" model_resp = requests.get(model_url, timeout=120) output_path.write_bytes(model_resp.content) print(f" 📦 模型已保存: {output_path}") return str(output_path)- Confidence
- 89% confidence
- Finding
- The code downloads model_url directly from API response data without validating the scheme, hostname, or content type. If the upstream service is compromised or returns an unexpected URL, the skill could be used for server-side request forgery, downloading malicious content, or writing non-GLB data to disk under a trusted filename.
