Back to skill

Security audit

Autoplot Skill自动数据可视化

Security checks for vulnerabilities and agentic risk

Overview

This skill is a straightforward local data-visualization tool that reads a user-specified CSV, Excel, or JSON file and writes a chart output file, with no evidence of hidden persistence, credential access, exfiltration, or destructive behavior.

This skill is reasonable to install for local chart generation. Before using it on confidential data, remember that generated HTML chart files may contain the underlying data needed for interactivity, so treat outputs like the source dataset. For stronger supply-chain hygiene, prefer a locked environment with reviewed versions of pandas, plotly, and openpyxl.

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
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Rogue AgentSelf-Modification, Session Persistence
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
Findings (8)

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The trigger phrases are broad enough to match many ordinary data-analysis or charting requests, which can cause the skill to activate outside its intended scope. Overbroad activation increases the chance an agent routes sensitive files or unrelated user tasks into this skill, expanding attack surface and creating unintended tool use.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

The Chinese keywords are extremely generic terms for visualization and charting, so they are likely to collide with normal conversation and unrelated analytics requests. This can lead to accidental invocation in multilingual contexts, especially where the agent relies heavily on keyword matching.

Content

No source excerpt is available for this finding.

Session Persistence

Medium
Category
Rogue Agent
Confidence
60% confidence
Finding

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.

Content

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

Commands

visualize

Create visualization from data file.

bash
python3 ~/.openclaw/workspace/autoplot/scripts/autoplot.py visualize <file> [options]

Unpinned Dependencies

Low
Category
Supply Chain
Confidence
96% confidence
Finding

The dependency is specified with only a lower bound, so builds may resolve to different versions over time and can silently pick up vulnerable or incompatible releases. In a skill that automatically processes user-supplied data files, dependency drift increases supply-chain risk and makes security review and incident response harder.

Content

Scanner excerpt · requirements.txt (reported line 1)May include surrounding context.

text
pandas>=1.5.0
plotly>=5.0.0
openpyxl>=3.0.0

Unverifiable Dependency: pandas has 1 known advisory(ies) (CVE-2020-13091 (** DISPUTED ** pandas through 1.0.3 can unserialize and execute commands from an)), but the manifest does not pin a version, so it is unknown whether the installed release is affected

Low
Category
Supply Chain
Confidence
79% confidence
Finding

The manifest does not pin pandas, so it is impossible to verify whether deployed environments avoid versions associated with known advisories. While the cited CVE is disputed and not necessarily exploitable here, the lack of version control still creates uncertainty around whether vulnerable releases could be installed.

Content

No source excerpt is available for this finding.

Unpinned Dependencies

Low
Category
Supply Chain
Confidence
96% confidence
Finding

The unpinned plotly dependency allows non-reproducible installs and may introduce vulnerable or unexpected upstream changes without any modification to this repository. Because this skill generates output from arbitrary user data, predictable and reviewable dependency versions are important for reducing supply-chain exposure.

Content

Scanner excerpt · requirements.txt (reported line 2)May include surrounding context.

text
pandas>=1.5.0
plotly>=5.0.0
openpyxl>=3.0.0

Unpinned Dependencies

Low
Category
Supply Chain
Confidence
97% confidence
Finding

Using openpyxl with only a minimum version means the environment may install any later release, making it impossible to guarantee that a safe version is used. This is more relevant here because the skill explicitly ingests Excel files, so the package is on a direct parsing path for attacker-controlled input.

Content

Scanner excerpt · requirements.txt (reported line 3)May include surrounding context.

text
pandas>=1.5.0
plotly>=5.0.0
openpyxl>=3.0.0

Unverifiable Dependency: openpyxl has 2 known advisory(ies) (CVE-2017-5992 (Improper Restriction of XML External Entity Reference in Openpyxl); CVE-2017-5992 (Openpyxl 2.4.1 resolves external entities by default, which allows remote attack)), but the manifest does not pin a version, so it is unknown whether the installed release is affected

Low
Category
Supply Chain
Confidence
91% confidence
Finding

openpyxl has historical XXE-related advisories, and because this skill processes Excel files from users, an unpinned version leaves uncertainty about whether a vulnerable parser could be installed. If an affected release were used, crafted spreadsheet content could potentially trigger unsafe XML entity handling during file parsing.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.