Back to skill

Security audit

Scientific Visualization

Security checks for vulnerabilities and agentic risk

Overview

This skill is a coherent scientific-figure helper; its file-writing behavior is expected for exporting plots and no hidden persistence, credential use, network execution, or destructive behavior was found.

Installers should understand this skill is mainly guidance plus local matplotlib helper scripts. Use it only on data and output locations you intend the agent to access, and be careful with filenames because figure exports and style-template generation may overwrite existing files without prompting.

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
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (7)

Tp4

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding

The declared description presents a broad figure-production meta-skill for publication-ready scientific graphics, including layout composition, annotations, error bars, accessibility, and journal formatting across multiple plotting libraries. The supplied code only implements a narrow subset: static definitions of accessible color palettes and simple matplotlib palette application/retrieval helpers. While colorblind-safe palettes are consistent with one part of the description, the primary purpose and capabilities of the code are materially narrower than declared. There is no evidence of multi-panel orchestration, seaborn/plotly integration, significance annotations, error bars, or journal-style formatting. Therefore the description does not accurately represent the actual code behavior.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
94% confidence
Finding

The declared description presents a broad meta-skill for constructing publication-ready figures across multiple plotting libraries with advanced presentation features. The supplied code instead provides a much narrower set of utilities: saving matplotlib figures in multiple formats, applying journal-specific export settings, checking figure size compliance, and a minimal PDF inspection helper. While journal formatting/export support is aligned in part, most of the headline capabilities in the description are absent. This is a description-behavior mismatch due to materially overstated scope and a different primary purpose.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
96% confidence
Finding

The description overstates the skill’s scope. The supplied code is specifically a matplotlib styling helper: it configures rcParams, applies named styles, sets color palettes, configures figure widths for journals, writes an .mplstyle file, and displays palette examples. It does align with part of the description around publication styles, colorblind-safe palettes, and some journal formatting (including Nature, Science, Cell). However, it does not implement the broader claimed behavior of orchestrating matplotlib/seaborn/plotly, nor does it provide mechanisms for multi-panel layouts, significance annotations, or error bars. The code’s actual primary purpose is narrower than the declared meta-skill, so this is a material description-behavior mismatch.

Content

No source excerpt is available for this finding.

Ae4

Medium
Category
analysis-evasion
Confidence
80% confidence
Finding

Suspicious Unicode normalization or mixed-script content

Content

No source excerpt is available for this finding.

Undeclared Tool Scope

Medium
Category
MCP Least Privilege
Confidence
88% confidence
Finding

The skill contains multiple examples and guidance for writing output files, such as saving figures to PDF, PNG, TIFF, and EPS, but declares no explicit tool scope or permissions. In an agent environment, undocumented file-write capability increases the risk of unintended overwrites, writing outside approved workspaces, or broader filesystem effects if the skill is invoked automatically.

Content

No source excerpt is available for this finding.

Ae4

Medium
Category
analysis-evasion
Confidence
80% confidence
Finding

Suspicious Unicode normalization or mixed-script content

Content

No source excerpt is available for this finding.

Missing User Warnings

Low
Category
Not specified by scanner
Confidence
82% confidence
Finding

This code performs a file write via open(output_file, 'w'), which can overwrite an existing file, but the function's user-facing text does not warn about that side effect before it happens. Although the docstring states an output filename is used, there is no explicit disclosure that the target file will be created or overwritten.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.