Back to skill

Security audit

Csv Processor Free

Security checks for vulnerabilities and agentic risk

Overview

This CSV-processing skill is broadly coherent and disclosed, but users should be careful with file writes, dependency installation, and its overly broad trigger wording.

Install in an isolated Python environment, review output paths before export or split operations, avoid overwriting important files, and treat the skill as a CSV preprocessing helper rather than a general analytics or visualization tool.

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

Unpinned Third-Party Dependency Installation

Content
View full analysis

Vulnerability Details

File Location: SKILL.md, lines 125–130
Vulnerability Type: T08: Insecure Dependencies
Risk Level: Medium

Vulnerable Code Snippet:

markdown
### Prerequisites (approximately 30 seconds)

1. Confirm that Python 3.8+ is installed
2. Install dependencies:

```bash
pip install pandas chardet
text

The dependency table at lines 295–296 only specifies minimum versions and does not make installation reproducible:

```markdown
| pandas | Third-party library | Required | `pip install pandas` | 1.3+ |
| chardet | Third-party library | Required | `pip install chardet` | 4.0+ |

Technical Analysis

The Skill instructs the Agent to install pandas and chardet without exact version constraints or package integrity hashes. Although these package names and the default PyPI source are not inherently suspicious, the installation command resolves whichever compatible releases and transitive dependencies are available through the environment's configured package index at execution time.

Minimum-version documentation such as 1.3+ or 4.0+ does not constrain the provided pip install command and permits future, unaudited releases. The absence of a lock file and cryptographic hashes also prevents verification that downloaded artifacts are the same artifacts reviewed by the Skill publisher.

Python packages or their dependencies can execute code during installation, import, or normal runtime. Consequently, compromise of a package release, transitive dependency, configured package index, or package-resolution environment could introduce executable code into the Agent environment.

Attack Path

  1. An Agent or user follows the prerequisite instructions in SKILL.md.
  2. The command pip install pandas chardet is executed with the Agent's current operating-system privileges.
  3. pip contacts the configured package index and dynamically resolves current package releases a ...[truncated 1301 chars]
Remediation
View remediation

Remediation Suggestions

  1. Pin each direct dependency to an exact, reviewed version using == rather than installing unconstrained latest releases.

  2. Generate a lock file that records all transitive dependencies and their exact versions.

  3. Require cryptographic hashes for every downloaded distribution, for example:

    bash
    python -m pip install --require-hashes -r requirements.txt
    
  4. Obtain packages only from an explicitly configured, trusted package index or an internally controlled artifact repository.

  5. Review and refresh pinned dependencies through a controlled update process that includes vulnerability scanning and testing.

  6. Install dependencies in an isolated virtual environment or container under a non-privileged account.

  7. Avoid running pip with administrator or root privileges.

  8. Bundle the missing csv_processor implementation or identify its authenticated, pinned source so users do not guess and install an unrelated similarly named package.

Vulnerability Patterns
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • Behavioral ASTexec() Call, eval() Call, Dynamic Import
  • 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)

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
85% confidence
Finding

The skill advertises export and file-splitting behavior while also declaring write and exec capabilities, but it does not prominently warn that execution may create or overwrite files on disk. In an agent context, unclear write semantics can lead to unintended filesystem modifications, data leakage into generated artifacts, or destructive overwrites if output paths are inferred or supplied unsafely.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The trigger section says the skill should be used whenever the user needs data analysis, report generation, statistical insights, or data visualization. Those are broad, common requests that extend well beyond CSV cleaning and could cause unintended invocation for unrelated analytics tasks.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

L119 says the skill should be used when '数据分析、报表生成、统计洞察、数据可视化' are needed, but the rest of the file describes only CSV ingestion, cleaning, merging, splitting, type conversion, and export. This is not merely incomplete wording: it broadens the intended use beyond what the skill actually implements.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Low
Category
Not specified by scanner
Confidence
88% confidence
Finding

L344 instructs users to test network connectivity with ping and check firewalls/proxies, but elsewhere the skill is described as using Python plus local libraries only and explicitly says no extra API key is required. This creates an intent/documentation contradiction by implying network-dependent behavior that the skill does not otherwise claim or justify.

Content

No source excerpt is available for this finding.