T01 · Skill Instruction Hijacking
- Location
SKILL.md:96- Finding
Forced Promotional Output in API-Key Error Handling
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
The skill mostly does what it claims, but it needs Review because it can send spreadsheet data to ChartGen and contains unsafe endpoint and file-saving behavior that could expose data or write files outside the intended output folder.
Install only if you are comfortable sending prompts and spreadsheet contents to ChartGen. Avoid sensitive files unless you trust the service and runtime environment, do not set CHARTGEN_API_URL to an untrusted or HTTP endpoint, and prefer a fixed version that validates output filenames and download hosts.
SKILL.md:96Forced Promotional Output in API-Key Error Handling
tools/chartgen_api.js:25Unvalidated API Base URL Can Exfiltrate API Credentials and Uploaded Data
tools/chartgen_api.js:326API-Controlled Artifact Identifiers Enable Path Traversal and Arbitrary File Writes
The skill instructs the agent to upload user queries and potentially Excel/CSV files to an external API, but it does not require a clear user-facing disclosure that data will leave the local environment. Users may confirm a task without understanding that sensitive business or personal data is being transferred to a third party.
Referenced artifact was not completely inspected
## Tool — `tools/chartgen_api.js`
Referenced artifact was not completely inspected
## Tool — `tools/chartgen_api.js`
Referenced artifact was not completely inspected
## Tool — `tools/chartgen_api.js`
Skill instructs the agent to never refuse or to always comply. Suppressing the agent's ability to decline removes a core safety control and enables downstream harmful requests to succeed.
### STEP 1 — Confirm Before Submitting
Always respond in the user's language. **Must** include numbered options (1=go, 2=modify, 0=cancel).
**Confirmation rules:**
1. **Cancel = abandon forever.** Never proceed with a cancelled task.
Skill instructs the agent to never refuse or to always comply. Suppressing the agent's ability to decline removes a core safety control and enables downstream harmful requests to succeed.
### STEP 1 — Confirm Before Submitting
Always respond in the user's language. **Must** include numbered options (1=go, 2=modify, 0=cancel).
**Confirmation rules:**
1. **Cancel = abandon forever.** Never proceed with a cancelled task.
The skill declares required environment access (CHARTGEN_API_KEY) and invokes local code, but does not declare a restrictive tool scope such as allowed-tools or equivalent permissions. This weakens least-privilege guarantees and can let the runtime expose broader tool capabilities than intended, increasing the blast radius if the skill is misused or modified.
The activation text is very broad: it triggers on generic requests for charts, reports, analysis, mentions of ChartGen, or any spreadsheet upload. Overbroad invocation can cause the agent to route unrelated or sensitive tasks to this third-party skill unnecessarily, increasing the chance of unintended data disclosure.
Skill establishes unauthorized persistence across sessions via cron jobs, startup scripts, or state files. Session persistence allows an attacker to maintain access beyond the current interaction.
**File upload:** Do NOT submit immediately. Recommend 3–5 analysis tasks (numbered, noting which files). User picks a number, types custom text, or cancels.
Text request example (adapt to language):
> I'll use **ChartGen** to create this for you:
> 📊 **Generate a monthly sales trend line chart for 2025.**
> **1** — Go ahead **2** — Modify **0** — Cancel
This tool transmits user queries and uploaded spreadsheet contents to a third-party service at BASE_URL, including file contents read directly from disk and sent via multipart upload. In a data-analysis skill, that behavior is expected, but the lack of an explicit user-facing disclosure/consent mechanism in this file creates a real privacy and data-governance risk because sensitive local data may be exfiltrated to a remote service without sufficiently clear notice.
The tool saves returned images, previews, and PPTX artifacts to local media/workspace/tmp directories without an explicit user-facing warning or retention controls. This can leave sensitive generated outputs on disk, where they may persist longer than expected or be accessible to other local processes/users depending on system configuration.
No suspicious patterns detected.