T09 · Insecure Skill Coding Practices
- Location
compress.js:169- Finding
Symbolic-Link Traversal Can Upload Files Outside the Selected Directory
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This cloud image compressor is purpose-aligned, but it needs Review because batch mode and remote-download handling can expose more local data or network access than users may expect.
Install only if you are comfortable uploading selected images to Pixmind/Tencent-backed cloud processing. Avoid using recursive batch mode on folders from untrusted archives or shared sources, and review outputs carefully; the publisher should add symlink confinement, explicit upload confirmation, URL allowlisting, size/time limits, and documentation for any API-base override.
compress.js:169Symbolic-Link Traversal Can Upload Files Outside the Selected Directory
compress.js:144Unvalidated API-Provided URL Is Fetched Without Destination or Resource Limits
Skill contains instructions that could directly expose system prompts, internal rules, or hidden instructions to users or external parties.
| `--recursive` | `-r` | boolean | false | Process subdirectories |
| `--mode` | | string | url | Response: url or base64 |
## Output Rules
- Compressed files saved to `~/Downloads/compressed-images/{date}/` by default
- Original files are **never** modified or overwritten
The skill requires an API key and describes outbound HTTP use, but it does not declare an explicit tool scope such as permissions or allowed-tools. That creates a governance gap: an agent may invoke network and environment-backed behavior without a clearly constrained capability declaration, reducing reviewability and increasing the chance of unintended data exposure.
The skill states that local files are read, converted to Base64, and cloud-processed, but it does not prominently warn that user images are transmitted to an external service. Because images often contain sensitive personal or business content, this can lead to inadvertent disclosure of confidential data, especially when users expect a local-only compression workflow.
This code sends user-supplied image data and processing parameters to a third-party remote API endpoint, but there is no indication in the code of any user disclosure, consent flow, or privacy warning. Because images often contain sensitive visual content or metadata, silent transmission to an external service creates a real privacy and data-handling risk, especially if callers assume processing is local.
Detected: suspicious.env_credential_access