T09 · Insecure Skill Coding Practices
- Location
SKILL.md:112- Finding
Uploaded Images Are Exposed Through Permanent Unsigned Public URLs
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This image-editing skill is review-worthy because local images may be uploaded to Flyelep and exposed through permanent public links without a clear user-facing consent step or deletion path.
Only install this if users understand that local images supplied for editing can be sent to Flyelep and may become accessible through permanent public links. Avoid using it for identity documents, private photos, confidential designs, regulated data, or other sensitive images unless the user explicitly accepts that exposure. The API key should be provided only at runtime and not saved in files or shared logs.
SKILL.md:112Uploaded Images Are Exposed Through Permanent Unsigned Public URLs
The skill instructs the agent to upload user-provided local images to a permanent public URL and explicitly states the resulting link is permanently valid, but it does not require a clear consent and privacy warning before doing so. This can expose sensitive personal, proprietary, or regulated image content to public internet access without the user fully understanding the permanence and visibility of the upload.
The skill description and operational instructions are entirely in Chinese, and the examples direct prompt content in Chinese without indicating that users may choose another language. Because the file includes a languageType parameter but does not offer opt-in language selection or explain a justified locale restriction, it presents a natural-language locale constraint without user choice.
The invocation text says to use this skill whenever the user asks to partially modify an image, replace a background, replace some region content, or keep the subject while changing part of the image. These are broad, common phrasings in everyday image-editing requests, and the file does not provide explicit trigger boundaries or negative examples to clarify when this skill should not activate.
The skill directs external transmission of local user files to a third-party service, which is expected for the feature, but it remains security-relevant because sensitive local content may leave the user's environment. In this skill's context, the danger is increased by the same section noting the upload yields a permanent public URL, compounding confidentiality and privacy exposure.
判断成功只看 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 120 -F "file=@C:/path/to/product.png"
# macOS/Linux
No suspicious patterns detected.