Back to skill

Security audit

Xml Json Converter Free

Security checks for vulnerabilities and agentic risk

Overview

This skill is a local XML/JSON conversion guide with some broad and under-specified options, but no evidence of hidden, destructive, persistent, or exfiltrating behavior.

Install only if you need XML/JSON conversion. Keep the work scoped to the files you intend to convert, avoid using callback_url unless you explicitly want a trusted external notification, and prefer installing a pinned xmltodict version in a virtual environment.

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:269
Finding

Unpinned Third-Party Dependency Installation

Content
View full analysis

Vulnerability Details

File Location: SKILL.md, line 269
Vulnerability Type: Unpinned third-party package installation
Risk Level: Medium

Vulnerable Code Snippet:

markdown
| xmltodict | Python library | Required | `pip install xmltodict` |

Technical Analysis

The Skill directs the user or Agent to install xmltodict without specifying an approved version or validating the package with a cryptographic hash. Consequently, the installed artifact can change over time, making builds non-reproducible and allowing an unexpectedly changed or compromised package release to enter the execution environment.

Python package installation may execute package-controlled build or installation logic. Although the referenced package name is not visibly misspelled, obfuscated, or sourced from an untrusted custom repository, the absence of version and integrity controls creates a supply-chain exposure.

Attack Path

  1. An attacker compromises the package distribution account, package registry, or a future dependency release.
  2. A user or Agent follows the documented command pip install xmltodict.
  3. pip resolves and downloads the currently available release rather than a previously reviewed artifact.
  4. Package-controlled build or installation logic executes in the local environment.
  5. Malicious code operates with the permissions of the user or Agent that launched pip.

Impact Assessment

A compromised dependency could execute arbitrary code with the installing process's privileges. Depending on the runtime environment, this may permit access to files available through the Agent's read and write capabilities, modification of project data, theft of environment variables or credentials accessible to the process, and execution of additional local commands. The scope is limited by the operating-system permissions and isolation controls applied to the Agent or user account.

Remediation
View remediation

Remediation Suggestions

  1. Pin xmltodict to a specific, reviewed version:
    text
    xmltodict==REVIEWED_VERSION
    
  2. Record and verify cryptographic hashes in a locked requirements file, then install with:
    bash
    python -m pip install --require-hashes -r requirements.txt
    
  3. Install dependencies inside a dedicated virtual environment or restricted container rather than a privileged system environment.
  4. Review package provenance, release history, and transitive dependencies before updating the pinned version.
  5. Use an approved package index or internal mirror and prevent fallback to untrusted package sources.
  6. Run conversion workloads with least privilege and deny unnecessary access to credentials, sensitive files, and network resources.
Vulnerability Patterns
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • 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
Findings (4)

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The description says the skill should be used whenever the user needs file processing, document conversion, format conversion, or content extraction, which are very broad everyday requests rather than narrow skill-specific triggers. It does not clearly distinguish when this XML/JSON converter should activate versus other unrelated file-processing skills.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

Medium
Category
Not specified by scanner
Confidence
86% confidence
Finding

An external callback capability is unnecessary for a lightweight local XML/JSON conversion skill and expands the attack surface beyond its stated function. In an agent environment with exec/write/read permissions, such a parameter could be used to exfiltrate converted content or sensitive file-derived data to attacker-controlled infrastructure under the guise of normal processing.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Medium
Category
Not specified by scanner
Confidence
89% confidence
Finding

The skill states that conversion runs entirely locally and that data is not uploaded, yet it also defines a callback_url input and includes network troubleshooting guidance. This creates a misleading trust boundary: an agent or wrapper implementing the documented interface could transmit metadata or results to an external endpoint, causing unintended data disclosure and violating user expectations.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
87% confidence
Finding

The phrase "把这个SOAP响应转成JSON" is relatively broad and could match many generic transformation or API-inspection tasks beyond this specific skill. The file does not provide negative examples or tighter routing constraints to prevent unintended invocation overlap.

Content

No source excerpt is available for this finding.