T09 · Insecure Skill Coding Practices
- Location
SKILL.md:41- Finding
Unrestricted URL Retrieval Enables Local and Internal Resource Disclosure
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
The skill mostly does what it claims, but its URL-download path and external image upload are under-scoped enough to require review before use.
Install only if you are comfortable sending images and extracted text to translateimage.io. Avoid using it on confidential, medical, financial, identity, or private-location images unless you have explicit consent. Do not let it process file://, localhost, private-network, metadata-service, or redirected URLs; prefer known local image files or ordinary public HTTPS image URLs. Use remove-text only on images you have rights to edit, and avoid removing watermarks, provenance, or safety labels without authorization.
SKILL.md:41Unrestricted URL Retrieval Enables Local and Internal Resource Disclosure
SKILL.md:43Predictable Temporary File and Overbroad Wildcard Cleanup
Remote code is downloaded and executed. This bypasses code review and could introduce malicious code.
env:
- TRANSLATEIMAGE_API_KEY
bins:
- curl
- python3
primaryEnv: TRANSLATEIMAGE_API_KEY
os: ["darwin", "linux", "win32"]
Remote code is downloaded and executed. This bypasses code review and could introduce malicious code.
Example:
curl -s -X POST https://translateimage.io/api/ocr \
-H "Authorization: Bearer $TRANSLATEIMAGE_API_KEY" \
-F "image=@$IMAGE_PATH"
Tool parameters are crafted to achieve unintended or unsafe behavior. Parameter abuse can bypass intended safety checks (e.g. shell=True, --force, dangerous glob patterns).
- Images over 5MB may take longer — inform the user
- Inpainting works best on simple backgrounds; complex textures may show artifacts
- `gemini-2.5-flash` is the recommended default translator — fast and high quality
- Clean up temp files after processing: `rm -f /tmp/ti-image-*.jpg /tmp/ti-image-$$.jpg`
The skill clearly instructs sending user-provided images to a third-party service, but it does not require an explicit user-facing privacy notice or consent step before transmission. Images can contain sensitive personal, financial, medical, or location data, so silent exfiltration to an external API creates a real privacy and compliance risk.
The remove-text feature can be used to erase watermarks, subtitles, ownership notices, or other provenance indicators, yet the skill provides no warning or restriction around misuse. That omission makes it easier to facilitate potentially improper content alteration and can enable copyright, attribution, or trust-related abuse.
No suspicious patterns detected.