T09 · Insecure Skill Coding Practices
- Location
scripts/remove_watermark.mjs:51- Finding
API Credentials and Arbitrary Local Files Can Be Sent to an Untrusted Configurable Endpoint
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This is a coherent watermark-removal skill, but it needs review because it can upload any agent-readable file and an API key to a configurable endpoint without strong validation.
Install only if you trust the Airemovewatermark service and the agents invoking it. Keep API_BASE_URL unset unless you intentionally use a trusted endpoint, provide only image files you are authorized to upload, and avoid letting untrusted prompts choose local file paths or command arguments.
scripts/remove_watermark.mjs:51API Credentials and Arbitrary Local Files Can Be Sent to an Untrusted Configurable Endpoint
Referenced artifact was not completely inspected
- `scripts/remove_watermark.mjs`
Referenced artifact was not completely inspected
- `scripts/remove_watermark.mjs`
Referenced artifact was not completely inspected
- `scripts/remove_watermark.mjs`
Referenced artifact was not completely inspected
- `scripts/remove_watermark.mjs`
Referenced artifact was not completely inspected
- `scripts/remove_watermark.mjs`
Referenced artifact was not completely inspected
- `scripts/remove_watermark.mjs`
The skill requires access to environment variables and makes outbound network requests, but it does not explicitly declare a tool scope such as permissions or allowed-tools. That weakens runtime containment and reviewability, because an agent may invoke this skill with broader capabilities than intended, including access to sensitive API keys and remote data transfer to a third-party service.
The script sends either a local image file or a remote image URL to a third-party service, but it does not present a clear runtime warning or require explicit confirmation that user data will leave the local environment. In an agent setting, this can cause unintended disclosure of sensitive images, embedded metadata, or internal URLs, especially when the tool is invoked automatically based on high-level user intent.
The manifest explicitly advertises that completed output may be saved to the local artifact directory, but it does not warn users that the skill performs local file writes or describe the conditions under which files are created. In an agent setting, undisclosed filesystem writes can surprise users, overwrite expected workspace contents, or persist sensitive transformed images locally when the user expected only remote API processing.
When --download is enabled, the script creates directories and writes the processed image to a default artifacts path. The help text documents the save location, but the code provides no direct user-facing warning at execution time that a file write will occur.
Detected: suspicious.env_credential_access