Tainted flow: 'url' from os.environ.get (line 112, credential/environment) → requests.post (network output)
Critical
- Category
- Data Flow
- Content
"app_secret": self.app_secret } response = requests.post(url, json=payload) data = response.json() if data.get("code") != 0:- Confidence
- 94% confidence
- Finding
- The base API URL is taken from the FEISHU_API_BASE environment variable and used directly for authenticated requests. If that variable is overridden, the script will send the app ID, app secret, and bearer tokens to an attacker-controlled endpoint, enabling credential exfiltration and full compromise of the created bot/app.
