Tainted flow: 'download_url' from requests.get (line 74, network input) → requests.get (network output)
Medium
- Category
- Data Flow
- Content
# 6. 下载视频 print(f"⬇️ 下载中...") resp = requests.get(download_url, headers={ 'User-Agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X) AppleWebKit/605.1.15', 'Referer': 'https://www.douyin.com/' }, timeout=60)- Confidence
- 92% confidence
- Finding
- The code derives `download_url` from a remote page's `<video src>` attribute and then performs a server-side `requests.get` on it without validating the scheme, host, or redirect behavior. If an attacker can influence the page content or `src` value, this can trigger arbitrary outbound requests from the host running the skill, creating an SSRF-style primitive and allowing downloads of unexpected content.
