Tainted flow: 'upload_url' from requests.post (line 447, network input) → requests.put (network output)
Medium
- Category
- Data Flow
- Content
import mimetypes mime = mimetypes.guess_type(str(path))[0] or "application/octet-stream" with open(path, "rb") as f: requests.put(upload_url, headers={"Content-Type": mime}, data=f).raise_for_status() return record def list_files(self) -> dict:- Confidence
- 90% confidence
- Finding
- The code trusts an upload_url returned by the API and blindly PUTs local file contents to it. If the upstream API, account, or network path is compromised, this can turn file upload into arbitrary exfiltration to an attacker-controlled URL; because this skill is explicitly designed to upload local files, the context makes the risk more significant.
