Tainted flow: 'req' from os.environ.get (line 245, credential/environment) → urllib.request.urlopen (network output)
Critical
- Category
- Data Flow
- Content
}).encode() req = urllib.request.Request('https://api.tavily.com/search', data=data, headers={'Content-Type': 'application/json'}) resp = json.loads(urllib.request.urlopen(req, timeout=10).read()) posts = resp.get('results', []) if not posts: return None- Confidence
- 98% confidence
- Finding
- The code reads TAVILY_API_KEY from the environment and includes it in the outbound POST body to api.tavily.com without any user-facing disclosure. Although this is expected for authenticating to Tavily, it is still a real secret transmission path to a third party, which matters because the skill advertises itself as free/local and does not clearly disclose credential use.
