T09 · Insecure Skill Coding Practices
- Location
scripts/product_film.py:196- Finding
Unrestricted Server-Controlled Asset Upload Destination
- Content
View full analysis
", media_id) return media_id ``` ### Technical Analysis The upload ticket returned by the remote AI Hive API controls the destination URL, HTTP method, and request headers used to transmit a local product image or motion-reference video. The client validates only that the URL uses the `https` scheme. HTTPS protects data while in transit but does not establish that the receiving hostname is an authorized storage service. Any HTTPS endpoint is accepted, including an attacker-controlled domain. The code also accepts an arbitrary method through `transfer.get("method", "PUT")`, forwards arbitrary server-supplied headers, and relies on the default redirect behavior of `requests`. This creates a trust-boundary weakness: a compromised, malicious, or incorrectly configured upload-ticket response can cause the client to disclose a user-selected local asset to an unintended third party. The code does not per ...[truncated 1654 chars]- Remediation
View remediation
