Tainted flow: 'req' from os.environ.get (line 172, credential/environment) → urllib.request.urlopen (network output)
Critical
- Category
- Data Flow
- Content
url, headers={'User-Agent': 'Mozilla/5.0 (compatible; NotionTool/1.0)'} ) with urllib.request.urlopen(req, timeout=10) as response: html = response.read().decode('utf-8', errors='ignore') # Parse meta tags- Confidence
- 92% confidence
- Finding
- The script performs a network request to a user-supplied URL in order to scrape metadata for a cover image, with no validation of scheme, host, or destination. This creates an SSRF primitive that can be abused to access internal services, cloud metadata endpoints, or other restricted network resources from the environment where the skill runs.
