Back to skill

Security audit

Image Converter

Security checks for vulnerabilities and agentic risk

Overview

This skill is a straightforward local image conversion helper, with documentation quality issues around SVG support and dependency hygiene but no evidence of hidden, destructive, or data-stealing behavior.

Install this only in a virtual environment or other limited Python environment, and treat it as a raster image converter unless the SVG support is fixed. Users who need SVG conversion should verify or add real CairoSVG-based handling before relying on the advertised SVG features.

Vulnerability Patterns
  • Insecure DependenciesIntroduces malicious components through unsafe dependency sources
  • 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 (1)

T08 · Insecure Dependencies

Warning
Location
SKILL.md:7
Finding

Unpinned Third-Party Python Dependencies

Content
View full analysis
Remediation
View remediation
CairoSVG== ``` 2. Generate a lock file that also fixes all transitive dependency versions. 3. Require cryptographic hashes during installation, such as through a hash-locked requirements file and `pip install --require-hashes`. 4. Install packages only from an explicitly trusted package index and avoid unreviewed extra indexes. 5. Review dependency releases and run vulnerability scanning before updating the lock file. 6. Remove CairoSVG unless SVG conversion is properly implemented and required, thereby reducing the dependency attack surface. 7. Perform installation and image conversion in a least-privileged virtual environment or isolated container. ]]>
Vulnerability Patterns
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • 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
Findings (5)

Description-Behavior Mismatch

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

The manifest and documentation repeatedly state support for PNG, JPG, WEBP, and SVG conversion, including '任意格式互转' and a JPG-to-SVG example. However, the code only uses Pillow-based handling for raster formats and never imports or invokes cairosvg or any SVG-specific logic; batch conversion also excludes .svg inputs entirely. This creates a clear mismatch between the advertised capability and the actual implementation.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

This markdown skill description includes broad invocation language such as "Use when user needs to convert image formats" and generic phrases like "图片转换、格式转换". It does not define clear trigger constraints, exclusions, or negative examples, so ordinary conversation about image formats could unintentionally match the skill.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The note 'SVG输出需要cairosvg' tells users that SVG export is supported via cairosvg. In reality, the sample code neither imports cairosvg nor contains any branch for generating SVG output, so the documentation actively misrepresents the implementation rather than merely omitting details.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
78% confidence
Finding

The description contains both Chinese and English instructional text, but there is no statement that the skill should adapt to the user's preferred language. This can imply a default locale/language behavior without explicit user opt-in.

Content

No source excerpt is available for this finding.

Vague Triggers

Low
Category
Not specified by scanner
Confidence
87% confidence
Finding

The usage examples show several natural-language requests that would activate the skill, but they do not state what similar requests should not trigger it. Without explicit boundaries, these examples reinforce a broad activation scope for common image-related requests.

Content

No source excerpt is available for this finding.