T09 · Insecure Skill Coding Practices
- Location
scripts/doubao_media.py:25- Finding
Bearer API Key May Be Forwarded Across Trust Boundaries During Redirects
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This is a coherent Doubao media-generation helper that calls Volcengine Ark with the user's API key and can optionally download videos, with clear cautions but no hidden or deceptive behavior found.
Install only if you are comfortable sending media prompts, image URLs, and task metadata to Volcengine Ark using your DOUBAO_API_KEY. Use --download-to with a new, non-sensitive filename because the helper may replace an existing file at that path, and avoid using the skill with private image URLs or sensitive prompts unless that third-party transfer is acceptable.
scripts/doubao_media.py:25Bearer API Key May Be Forwarded Across Trust Boundaries During Redirects
scripts/doubao_media.py:123Unvalidated and Unbounded Download of API-Supplied Video URL
The skill invokes a Python script that uses environment secrets and performs network operations, but the manifest does not declare an explicit tool scope such as permissions or allowed-tools. This weakens reviewability and enforcement because operators and users cannot easily see or constrain the capability surface before execution.
The skill sends user prompts and possibly image URLs to Volcengine Ark and can write downloaded output files locally, but the user-facing description does not clearly warn about third-party data transmission or local file creation. This creates privacy and safety risk because sensitive prompts, URLs, or generated content may be sent off-host or written to disk without informed consent.
The wait command will download arbitrary remote content to a caller-controlled path and opens that path with write-binary mode, which will silently overwrite an existing file if it already exists. In an agent or automation context, this can clobber important local files, and because the downloaded URL comes from an external API response, the feature also turns remote task output into a local file write primitive.
No suspicious patterns detected.