Back to skill

Security audit

text2echart

Security checks for vulnerabilities and agentic risk

Overview

This chart skill is mostly purpose-aligned, but it needs Review because crafted chart input can execute scripts in generated HTML and screenshot/SVG modes use weak temporary files.

Use this skill only with chart data and JSON you trust, especially before opening generated HTML or using screenshot/SVG rendering. Prefer offline/embed mode for sensitive data, pin Playwright if you install screenshot support, and treat generated chart HTML as executable content rather than a passive document.

Vulnerability Patterns
  • Insecure Skill Coding PracticesFinds exploitable flaws such as hardcoded secrets or command injection
  • 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
Findings (2)

T09 · Insecure Skill Coding Practices

Error
Location
cli.js:120
Finding

Arbitrary JavaScript Execution in Generated Chart HTML

Content
View full analysis
\n' : ''; const base = embed ? loadLocal() : `${wcExtra}${getThemeCDN(theme)}`; if (slide) return `${title}${base}body{margin:0;background:#1a1a2e}.slide{width:960px;height:540px;display:flex;flex-direction:column;justify-content:center;align-items:center;background:linear-gradient(135deg,#1a1a2e,#16213e);page-break-after:always}.slide-title{color:#4facfe;font-size:28px;margin-bottom:20px}.slide-chart{width:900px;height:400px}
${title}
`; return `${title}${base}body{margin:0;background:$ ...[truncated 3898 chars]
Remediation
View remediation
... ``` 3. Before embedding JSON in HTML, replace `<` with `\u003c`. Consider also escaping `>`, `&`, U+2028, and U+2029 for defense in depth. 4. Use a well-tested HTML escaping function for values inserted into `` or normal HTML elements. Prefer assigning user-controlled text through `textContent`. 5. Validate the input-level `options` object against a strict schema. Allow only expected fields and types, such as bounded numeric dimensions, recognized theme names, booleans, and validated color values. 6. Avoid interpolating untrusted values into CSS. Apply dimensions and colors through validated DOM properties or generate them from normalized values. 7. Add a restrictive Content Security Policy. If inline scripts are necessary, use a nonce or hash rather than allowing unrestricted inline execution. 8. Add regression tests for payloads containing: - `</script><script>alert(1)</script>` - HTML element and attribute breakouts - CSS declaration and style-element breakouts - Unicode and encoded variants 9. Run screenshot and SVG rendering in an isolated browser context with unnecessary network access disabled when remote assets are not required. ]]>

T09 · Insecure Skill Coding Practices

Warning
Location
cli.js:239
Finding

Predictable Shared Temporary Files Permit Symlink Attacks and Data Exposure

Content
View full analysis
Remediation
View remediation
Vulnerability Patterns
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Memory PoisoningPersistent Context Injection, Context Window Stuffing, Memory Manipulation
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • YARA SignaturesMalware Match, Webshell Match, Cryptominer Match
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
Findings (49)

YARA rule 'privilege_escalation_tools': Privilege escalation tools and techniques [hacktools]

High
Category
YARA Match
Confidence
75% confidence
Finding

YARA rule matched a hack tool or exploit indicator (offensive tools, reconnaissance, privilege escalation, or exploit frameworks).

Content

Scanner excerpt · README.md (reported line 97)May include surrounding context.

md
YVRUJdox1JYAgemazrDwjqPif4IeDX0ZUOqaOtvqFrHN9yQxk5jbPZlNAHE65rPhHwzo7a94K8YXt1rtkFkEczu6XPI3oyEYG4Zr63069GpaZZamF2fbLeKfb6eYobH6144/ibxHqKxaXpfgEWupuyrJLdRxi2jGfmbcBkjGcV7gcBUUADaoGF4UYHQe1ACUUhIHWjcvqKTaW7HZi0Um5fUUbl9RS5l3CzFophkjX7zAfU1WfULKP70y/nUSrU4/FJFKEnsi2TTCcVmNrFp/Bvc/7Kmq76pM3+ptZG+vFc7xtHpK/pqaKhPsa5euc1fWhbA29ucynqf7v/16yvt+u65qU2kaWq2wtwPPnPzbS3RR70rfD2/Ylm1ZyTyTtFcuLliK9K2G0v1eh30cPSpyTxEreW5zzSliWY5J6k0nmV0H/Cur3/oKv/3yKP8AhXV5/wBBV/8AvkV8k+H8S9W0et9bw/8AP+DOf8yjzK6D/hXV5/0FX/75FH/Curz/AKCr/wDfIo/1exPkH1vD/wA/4M5/zKPMroP+FdXn/QVf/vkUf8K6vP8AoKv/AN8ij/V/E+QfW8P/AD/gzn/MrhPEFkLef7XEMRyn5vZv/r163/wrq8/6Cr/98iopvhpcXEZhm1NmVuoKiuvC5NiqM+ZWsdeGzOhRnzc+nozwbzKPMr2n/hT8P/P+3/fIo/4U/D/z/t/3yK9v6nV7Ht/6wYP+b8DxbzKPMr2n/hT8P/P+3/fIo/4U/D/z/t/3yKPqdXsH+sGD/m/A8W8yjzK9p/4U/D/z/t/3yKP+FPw/8/7f98ij6nV7B/rBg/5vwPFvMo8yvaf+FPw/8/7f98ij/hUEP/P+3/fNP6pV7Cef4Jqzl+B53DP5kSPnqKl8z3r0ZPhR5a7E1FgB/sinf8Krb/oJN/3yK+yp5jaCUou5+O4jJ4SqylTqrlbdtHseb+Z70eZ716R/wqtv+gk3/fIo/wCFVt/0Em/75Faf2lH+VmH9

Tp4

High
Category
MCP Tool Poisoning
Confidence
92% confidence
Finding

The code largely matches the chart-generation purpose: it creates ECharts-based HTML from CSV/JSON and supports vector/screenshot export through Playwright, which aligns with much of the declared description. However, there are material description-to-behavior gaps. First, the description explicitly claims 6 chart types including scatter, but the implementation only documents and practically supports bar, line, pie, radar, and wordcloud; scatter is absent. Second, the description says fine-tuning/modification opens a browser for interactive adjustment, but the code does not open a browser or provide an editing workflow—--open merely prints a manual path message. Third, the description mentions rendering by mermaid/support preview, but no mermaid integration exists. These are substantive overclaims rather than minor implementation details, so this should be flagged as a mismatch.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding

The supplied code chunk is a static ECharts theme file whose sole purpose is to register a 'dark' visual theme with ECharts. While theming is related to charts, it is only a supporting asset and not the primary behavior described. The declared description claims a full chart generator skill with rendering, export, screenshot, and interactive adjustment capabilities, none of which are implemented in this code. Therefore the description does not accurately represent this code chunk's actual behavior.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding

The declared description presents a full-featured chart generation/rendering/export skill. The supplied code chunk does not generate charts, construct option JSON, output HTML, invoke any CLI, take screenshots, open a browser, or implement trigger handling. It merely registers a visual theme for ECharts. This is a materially different and much narrower purpose than the declared skill behavior, so the description does not accurately represent this code chunk.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding

The supplied code chunk is a static theme registration file for ECharts. Its purpose is limited to configuring visual styling (colors, tooltip styles, axis styles, etc.) and registering that theme with ECharts. This is materially narrower and different from the declared skill description, which claims end-to-end chart generation, export modes, preview, screenshots, and interactive editing. No undeclared sensitive behavior is present, but the actual behavior does not match the declared primary purpose.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding

The declared description presents a full chart-generation/rendering/export skill. The supplied code instead is a static theme registration file for ECharts, providing styling metadata only. Its primary purpose is materially different: theme definition rather than chart construction or rendering workflow. No undeclared sensitive behavior is present, but the actual behavior falls far short of and differs from the declared functionality.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding

The supplied code chunk is a static ECharts theme file. Its sole behavior is to register visual styling options with ECharts. That is related to chart appearance, but it does not implement the declared skill’s primary functionality of generating chart configurations, rendering output, exporting images/vectors, taking screenshots, or enabling interactive modification. Therefore the description materially overstates and misrepresents what this code chunk actually does.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding

This code chunk is a static theme-registration module for ECharts, not a chart generator. Its primary purpose is to provide styling defaults (palette/background) under the theme name 'vintage'. That is materially narrower and different from the declared description, which claims chart construction, rendering, export, screenshot, and editing capabilities. No undeclared sensitive behavior is present, but the declared functionality is largely unsupported by the actual code shown.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
95% confidence
Finding

The code is clearly related to chart generation, so the high-level domain matches. However, the declared description includes several concrete capabilities that are not present in the supplied code: there is no CLI invocation, no Playwright screenshot flow, no mermaid rendering, and no interactive browser-opening logic for fine-tuning. Instead, this is a browser-based ECharts editor/renderer with JSON formatting, safe template substitution, chart rendering, language switching, and export to PNG/JPG/SVG/JSON. The code also only exposes bar/line/pie/cloud templates in this chunk, with no evidence of scatter or radar support. Because the description makes specific claims about primary operation modes and supported chart types that are materially absent from the actual code, this should be flagged as a mismatch.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
93% confidence
Finding

The supplied code is clearly related to chart generation, so the primary purpose generally aligns with the description. However, the description claims broader functionality than this code chunk actually demonstrates. In this snippet, only preset templates for bar, line, pie, and word cloud are implemented, with no scatter or radar template shown. It also does not show any CLI invocation for SVG/vector output or screenshots, nor browser-opening logic for interactive fine-tuning. Those features may exist elsewhere, but they are not represented by this chunk. Because the evaluation is description versus this supplied code chunk, the declared description overstates the implemented capabilities visible here.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
95% confidence
Finding

The supplied code is a template loader for chart presets rather than a full chart-generation/export system as described. It does align partially with the declared purpose because it prepares ECharts option JSON for some chart types and triggers chart generation. However, the description claims broader functionality and chart coverage than this code demonstrates. Specifically, only bar, line, pie, and word cloud templates are implemented here; scatter and radar are absent, and wordcloud is keyed as 'cloud' rather than explicitly 'wordcloud'. More importantly, there is no evidence in this chunk of CLI invocations for SVG/vector export, screenshot capture with Playwright, mermaid rendering, direct HTML output, or browser-based interactive tuning. Because the declared description materially overstates the implemented capabilities shown in the code chunk, this should be flagged as a mismatch.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

The listed user-invocable triggers include generic terms like "chart", "graph", "visualize", "plot", "draw", and an open-ended "etc.", which are common in ordinary conversation and not constrained to a narrow invocation context. Without negative examples or tighter scope, this can cause unintended skill activation when a user is speaking generally rather than explicitly invoking the tool.

Content

No source excerpt is available for this finding.

Context Window Stuffing

Medium
Category
Memory Poisoning
Confidence
98% confidence
Finding

The README contains extremely large base64-embedded blobs that are unrelated to core skill logic and materially inflate the prompt/context footprint. In an agent setting, this can crowd out security-relevant instructions and increase the chance the model misses constraints, misroutes requests, or fails to analyze dangerous behavior accurately.

Content

Scanner excerpt · README.md (reported line 97)May include surrounding context.

md
**Direct HTML generation in chat — pie chart example:**

![Pie chart generated in chat](data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAASABIAAD/4QDURXhpZgAATU0AKgAAAAgABAESAAMAAAABAAEAAAExAAIAAAAbAAAAPgEyAAIAAAAUAAAAWodpAAQAAAABAAAAbgAAAABBbmRyb2lkIEJQMkEuMjUwNjA1LjAzMS5BMwAAMjAyNjowNjoxMyAwOToxMzozOAAABJADAAIAAAAUAAAApJAEAAIAAAAUAAAAuKACAAQAAAABAAADIKADAAQAAAABAAAFewAAAAAyMDI2OjA2OjEzIDA5OjEzOjM4ADIwMjY6MDY6MTMgMDk6MTM6MzgA/+0AOFBob3Rvc2hvcCAzLjAAOEJJTQQEAAAAAAAAOEJJTQQlAAAAAAAQ1B2M2Y8AsgTpgAmY7PhCfv/iAohJQ0NfUFJPRklMRQABAQAAAngAAAAABAAAAG1udHJSR0IgWFlaIAfmAAgACAAIAAgACGFjc3AAAAAAAAAAAFhNICAAAAAAAAAAAAAAAAAAAAAAAAD21gABAAAAANMtYXBwbAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACmRlc2MAAAD8AAAAZWNwcnQAAAFkAAAANnd0cHQAAAGcAAAAFHJYWVoAAAGwAAAAFGdYWVoAAAHEAAAAFGJYWVoAAAHYAAAAFHJUUkMAAAHsAAAAIGNoYWQAAAIMAAAALGJUUkMAAAI4AAAAIGdUUkMAAAJYAAAAIGRlc2MAAAAAAAAAInNSR0IgRU9URiB3aXRoIERDSS1QMyBDb2xvciBHYW11dAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdGV4dAAAAABDb3B5cmlnaHQgWGlhb21pIENvbW11bmljYXRpb25zIENvLiwgTHRkLiAyMDIyAABYWVogAAAAAAAA9tUAAQAAAADTLFhZWiAAAAAAAACD3wAAPb////+7WFlaIAAAAAAAAEq/AACxNwAACrlYWVogAAAAAAAAKDgAABELAADIuXBhcmEAAAAAAAMAAAACZmYAAPKwAAANUAAAE7YAAAn8c2YzMgAAAAAAAQxCAAAF3v//8yYAAAeTAAD9kP//+6L///2jAAAD3AAAwG5wYXJhAAAAAAADAAAAAmZmAADysAAADVAAABO2AAAJ/HBhcmEAAAAAAAMAAAACZmYAAPKwAAANUAAAE7YAAAn8/8AAEQgFewMgAwEiAAIRAQMRAf/EAB8AAAEFAQEBAQEBAAAAAAAAAAABAgMEBQYHCAkKC//EALUQAAIBAwMCBAMFBQQEAAABfQECAwAEEQUSITFBBhNRYQcicRQygZGhCCNCscEVUtHwJDNicoIJChYXGBkaJSYnKCkqNDU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6g4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2drh4uPk5ebn6Onq8fLz9PX29/j5+v/EAB8BAAMBAQEBAQEBAQEAAAAAAAABAgMEBQYHCAkKC//EALURAAIBAgQEAwQHBQQEAAECdwABAgMRBAUhMQYSQVEHYXETIjKBCBRCkaGxwQkjM1LwFWJy0QoWJDThJfEXGBkaJicoKSo1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoKDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uLj5OXm5+jp6vLz9PX29/j5+v/bAEMABAQEBAQEBgQEBgkGBgYJDAkJC
...[truncated 28 chars]

Context Window Stuffing

Medium
Category
Memory Poisoning
Confidence
98% confidence
Finding

A second large base64-embedded image block further stuffs the context window and compounds instruction dilution risk. Repeated oversized blobs in model-consumed documentation are dangerous because they can bury operational constraints and reduce the reliability of model oversight in exactly the environment where this skill is used.

Content

Scanner excerpt · README.md (reported line 145)May include surrounding context.

md
**Word Cloud — independent shape & palette switching in a single HTML:**

![Word Cloud Demo](data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAASABIAAD/4QDgRXhpZgAATU0AKgAAAAgABAESAAMAAAABAAEAAAExAAIAAAAbAAAAPgEyAAIAAAAUAAAAWodpAAQAAAABAAAAbgAAAABBbmRyb2lkIEJQMkEuMjUwNjA1LjAzMS5BMwAAMjAyNjowNjoxMyAxMTo0OTo1NQAABZADAAIAAAAUAAAAsJAEAAIAAAAUAAAAxJIIAAMAAAABAAAAAKACAAQAAAABAAADIKADAAQAAAABAAAGOwAAAAAyMDI2OjA2OjEzIDExOjQ5OjU1ADIwMjY6MDY6MTMgMTE6NDk6NTUA/+0AOFBob3Rvc2hvcCAzLjAAOEJJTQQEAAAAAAAAOEJJTQQlAAAAAAAQ1B2M2Y8AsgTpgAmY7PhCfv/iAhhJQ0NfUFJPRklMRQABAQAAAggAAAAABDAAAG1udHJSR0IgWFlaIAfgAAEAAQAAAAAAAGFjc3AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD21gABAAAAANMtAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACWRlc2MAAADwAAAAZHJYWVoAAAFUAAAAFGdYWVoAAAFoAAAAFGJYWVoAAAF8AAAAFHd0cHQAAAGQAAAAFHJUUkMAAAGkAAAAKGdUUkMAAAGkAAAAKGJUUkMAAAGkAAAAKGNwcnQAAAHMAAAAPG1sdWMAAAAAAAAAAQAAAAxlblVTAAAARgAAABwARABpAHMAcABsAGEAeQAgAFAAMwAgAEcAYQBtAHUAdAAgAHcAaQB0AGgAIABzAFIARwBCACAAVAByAGEAbgBzAGYAZQByAABYWVogAAAAAAAAg90AAD2+////u1hZWiAAAAAAAABKvwAAsTcAAAq5WFlaIAAAAAAAACg7AAARCwAAyMtYWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb/wAARCAY7AyADASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9sAQwAEBAQEBAQGBAQGCQYGBgkMCQkJCQwPDAwMDAwPEg8PDw8PDxISEhISEhISFRUVFRUVGRkZGRkcHBwcHBwcHBwc/9sAQwEEBQUHBwcMBwcMHRQQFB0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0d
...[truncated 27 chars]

Description-Behavior Mismatch

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The manifest says the skill supports 6 chart types: bar, line, pie, scatter, radar, and wordcloud. However, the README states the skill can generate any ECharts series type and lists many additional capabilities including maps, graph/network charts, custom renderers, timelines, brush selection, and 3D charts, which materially exceeds the manifest's declared scope.

Content

No source excerpt is available for this finding.

Undeclared Tool Scope

Medium
Category
MCP Least Privilege
Confidence
90% confidence
Finding

The skill documentation clearly describes network-dependent behavior through CDN loading and browser-based rendering, yet the manifest does not declare any explicit tool scope or permissions. This creates a capability-transparency gap: a user or orchestrator may not realize the skill can access external resources or open network-dependent content, increasing the chance of unintended data exposure when chart inputs contain sensitive information.

Content

No source excerpt is available for this finding.

External Model or Provider Selection

Medium
Category
Excessive Agency
Confidence
90% confidence
Finding

Skill selects an external model or provider that may use a different account or billing plan than the operator expects. Undisclosed model switches can cause unexpected cost or quota consumption.

Content

Scanner excerpt · SKILL.md (reported line 4)May include surrounding context.

md
---
name: text2echart
name-zh: Data to Chart
provider: openclaw
description: >
  Chart generator skill. When triggered:
  - Default: CONSTRUCT ECharts option JSON and output HTML string directly and render by mermaid and support preview.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The trigger list includes broad everyday terms like draw, plot, graph, 图片, and 可视化, which can cause accidental invocation in unrelated conversations. Because the skill may generate HTML, open browsers, create files, or rely on external resources, ambiguous activation increases the risk of unintended processing of sensitive user data or surprise side effects.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

The manifest's trigger-keywords are broad and lack scope constraints, which raises the probability of unintended skill activation. In this skill context that matters more because activation may lead to handling uploaded data, producing executable HTML, or initiating browser/network-dependent workflows without the user fully appreciating those consequences.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
89% confidence
Finding

The documentation instructs use of npx playwright, which resolves and executes a package/version that is not pinned. This introduces a supply-chain risk because future or compromised upstream versions could execute unexpected code during installation or runtime on the user's machine.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The manifest limits the skill to 6 chart types: bar, line, pie, scatter, radar, and wordcloud (L011). Later documentation claims the skill can generate many additional ECharts series and extensions, including maps, 3D charts, and custom renderers, which materially broadens the advertised behavior beyond the stated manifest scope.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
70% confidence
Finding

npx commands without a version suffix (e.g. @1.0.0) create a rug-pull risk if the upstream server is compromised and publishes a malicious update.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
70% confidence
Finding

npx commands without a version suffix (e.g. @1.0.0) create a rug-pull risk if the upstream server is compromised and publishes a malicious update.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
70% confidence
Finding

npx commands without a version suffix (e.g. @1.0.0) create a rug-pull risk if the upstream server is compromised and publishes a malicious update.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
78% confidence
Finding

This markdown file contains user-facing guidance partly in Chinese and later reinforces Chinese-language usage through examples and Chinese documentation references, but it does not state that the skill is China/Chinese-locale specific or offer language selection. That can amount to an implicit language/locale constraint without user opt-in.

Content

No source excerpt is available for this finding.

Static analysis

Detected: suspicious.dynamic_code_execution

Dynamic code execution detected.

Critical
Code
suspicious.dynamic_code_execution
Location
lib/echarts-5.6.min.js:45