T09 · Insecure Skill Coding Practices
- Location
SKILL.md:169- Finding
Permanent Unsigned Public Exposure of Uploaded Videos
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
The skill does what it claims, but it can upload private videos to long-lived public URLs and exposes API keys in command examples without requiring clear user confirmation.
Review before installing. Use this only with media you are authorized to upload and comfortable making accessible through a long-lived public URL. Avoid confidential, personal, regulated, unreleased, or copyrighted videos unless you have permission and understand the retention risk. Prefer user-controlled hosting or expiring private links if available, and avoid passing real API keys directly in shell commands or logs.
SKILL.md:169Permanent Unsigned Public Exposure of Uploaded Videos
SKILL.md:199API Secret Exposed Through Command-Line Arguments and Shell History
The trigger condition is broad ('when the user wants to replicate hot videos or imitate reference style') and does not define exclusions such as copyright-sensitive, privacy-sensitive, or unauthorized impersonation scenarios. This can cause the skill to activate in risky contexts and facilitate policy-violating or abusive media generation without an explicit gating step.
The upload section states that uploaded files become public via a permanent direct URL ('永久有效、不带签名') but does not clearly warn users, before upload, that their videos and generated result URLs may remain remotely accessible. This creates a meaningful risk of unintended disclosure of proprietary, personal, or sensitive media if users assume transient or private processing.
The manifest frames this as a video-generation API skill, but the file also instructs using curl commands and local temporary-file creation/deletion to perform uploads and requests. Spawning shell commands and manipulating local files are not inherently required by the declared end-user purpose, especially since the skill is described as an HTTP API calling skill rather than a shell-execution helper.
The skill instructs uploading user-provided local video files to an external third-party service, which is a real external data transmission event. In this context it is expected functionality, but it is still security-relevant because the content may be sensitive and the same document indicates the resulting URLs are publicly accessible and long-lived.
判断成功只看 code,业务失败时 HTTP 状态码仍是 200,code 为 500 或 9999,原因在 msg 里。
# Windows/PowerShell(用 curl.exe,PowerShell 里的 curl 是 Invoke-WebRequest 的别名)
curl.exe -X POST "https://www.flyelep.cn/prod-api/poster-design/api/v1/file/upload" -H "secretKey: 你的密钥" --max-time 300 -F "file=@C:/path/to/reference.mp4"
# macOS/Linux