Back to skill

Security audit

Chartmaker

Security checks for vulnerabilities and agentic risk

Overview

ChartMaker is advertised as terminal chart visualization but primarily stores and searches user text locally, which could retain sensitive data unexpectedly.

Review this skill before installing. Use it only if you want a local activity log, not a chart renderer, and avoid passing secrets, personal data, credentials, proprietary datasets, or anything you would not want saved under ~/.local/share/chartmaker.

Vulnerability Patterns
  • Skill Instruction HijackingAlters the agent's session goals or safety constraints when the skill loads
  • Agent Memory PoisoningWrites attacker-controlled rules into memory that affect later sessions
  • Remote Payload Retrieval and ExecutionFetches external code whose behavior can change after review
  • Embedded Malicious CodeShips malicious scripts inside the skill and executes them locally
  • Unauthorized Access and Privilege EscalationObtains permissions beyond the task's legitimate needs
Vulnerability Patterns
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (8)

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding

The skill is presented as a terminal charting/visualization tool, but the documented behavior includes broad persistent logging, query, search, history inspection, and export of user-provided content. That mismatch is dangerous because users or higher-level agents may supply sensitive data expecting transient visualization, while the skill instead retains and exposes it locally in searchable/exportable logs.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

High
Category
Not specified by scanner
Confidence
99% confidence
Finding

The manifest claims chart rendering and transformation, but the command set documents a local data logging and export system. This kind of semantic deception can cause users, orchestrators, or automated policy systems to route sensitive data into a skill whose real function is collection and retention, increasing confidentiality and privacy risk.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

High
Category
Not specified by scanner
Confidence
97% confidence
Finding

The top-level description frames the skill as terminal visualization, while the detailed behavior centers on persistent local logging and export operations. In skill ecosystems, this mismatch is especially risky because tool selection is often description-driven; misleading descriptions can bypass user expectations and cause unintentional storage or later disclosure of sensitive inputs.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

High
Category
Not specified by scanner
Confidence
97% confidence
Finding

The skill is presented as a terminal chart visualization tool, but the implementation mainly provides a general-purpose local logging, search, and export utility. This mismatch is dangerous because users may provide sensitive operational or dataset content believing it is only being visualized, when it is actually being persistently stored and made searchable/exportable.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

High
Category
Not specified by scanner
Confidence
99% confidence
Finding

The advertised 'visualize' command does not render charts or transform output for display; it simply appends the provided input to a local log file. In the context of a skill marketed for visualization, this can trick users into entering sensitive data under false expectations, resulting in unintended local data retention.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

The skill explicitly stores arbitrary user-provided text in local logs and supports later search/export, but provides no warning that potentially sensitive content will persist on disk. This increases the chance of accidental retention of secrets, proprietary data, or personal information and makes later exposure through local access, backups, or exports more likely.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Medium
Category
Not specified by scanner
Confidence
98% confidence
Finding

The help output explicitly documents export as a functional formatter producing json/csv/txt output. In practice, the first matching case arm for 'export' only logs the input and prevents the later '_export' dispatcher branch from ever running, so the documented behavior contradicts the actual execution path.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
97% confidence
Finding

User-supplied input is written verbatim to persistent log files in the user's home directory without clear disclosure in the help text or description. In a skill framed as chart rendering, this undisclosed retention increases the chance that users will input secrets, proprietary data, or personal information that remains on disk and can later be searched or exported.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.