Back to skill

Security audit

Data Analyst Expert Free

Security checks for vulnerabilities and agentic risk

Overview

This skill is a disclosed local data-analysis helper, with some installation and callback details users should handle carefully.

Install and run this only in a workspace meant for data analysis, review any generated code before execution when sensitive data is involved, avoid using callback_url unless you trust the destination and know what will be sent, and prefer pinned dependencies or a prebuilt analysis 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:292
Finding

Unpinned Runtime Dependencies Create a Supply-Chain Risk

Content
View full analysis

Vulnerability Details

File Location: SKILL.md, lines 292–295
Vulnerability Type: Unpinned third-party dependencies
Risk Level: Medium

Vulnerable Code

markdown
| pandas | Python library | Required | `pip install pandas` |
| numpy | Python library | Required | `pip install numpy` |
| matplotlib | Python library | Optional | `pip install matplotlib` |
| openpyxl | Python library | Optional | `pip install openpyxl` |

Technical Analysis

The skill recommends installing required and optional Python packages without fixed versions or integrity hashes. These commands resolve mutable package releases from whichever Python package index is configured in the runtime.

Consequently, installations are neither reproducible nor cryptographically tied to reviewed artifacts. If the configured index, package account, release, or dependency chain is compromised, package-controlled code may execute during installation or later when the analysis environment imports the package.

The file does not explicitly require automatic installation, use an untrusted index, or identify a currently malicious package. The issue is therefore a supply-chain exposure rather than evidence of an intentionally malicious payload.

Attack Path

  1. An agent attempts to perform the documented data-analysis workflow.
  2. A required package is unavailable and the agent follows one of the documented unpinned pip install commands.
  3. pip queries the runtime's configured package index and resolves the latest compatible package and transitive dependencies.
  4. An attacker has compromised a package release, package-maintainer account, dependency, index, or index configuration.
  5. The malicious package artifact is downloaded and installed without verification against approved hashes.
  6. Package-controlled code executes during installation or import with the permissions of the agent process.
  7. The payload can access resources available to that process, including the workin ...[truncated 690 chars]
Remediation
View remediation

Remediation Suggestions

  1. Pin every direct dependency to a reviewed version instead of resolving the latest release:

    text
    pandas==<reviewed-version>
    numpy==<reviewed-version>
    matplotlib==<reviewed-version>
    openpyxl==<reviewed-version>
    
  2. Maintain a reviewed lock or requirements file that includes all transitive dependencies and cryptographic hashes.

  3. Install with hash verification, for example:

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

  5. Generate and review dependency provenance or software bills of materials, and scan locked artifacts for known vulnerabilities before deployment.

  6. Prefer a prebuilt, immutable analysis environment containing approved dependencies rather than permitting the agent to install packages at runtime.

  7. If runtime installation remains necessary, perform it in an isolated environment with minimal filesystem permissions, no unnecessary credentials, and restricted network access.

Vulnerability Patterns
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • 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
Findings (6)

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
84% confidence
Finding

The skill name, summary, and the entire user-facing description are presented only in Chinese, and the document also notes Chinese fonts are preconfigured for visualization. There is no statement that users may choose another language or locale, so the skill appears to impose a specific language without explicit opt-in.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The skill has powerful capabilities (exec and write) but does not clearly warn users that it may execute code and create or modify files during analysis. This lack of disclosure can lead to unsafe consent, where users provide sensitive inputs or invoke the skill without realizing it may run arbitrary analysis code in the environment.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The documented callback_url introduces outbound communication to arbitrary destinations, which is not necessary for a local file-based analysis helper. In an agent with network access, this could be abused to exfiltrate analysis results, metadata, or sensitive file-derived content to attacker-controlled endpoints under the guise of asynchronous completion notifications.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

Medium
Category
Not specified by scanner
Confidence
88% confidence
Finding

The statement that the skill supports input_params for create/query/export operations expands it from passive analysis into potentially state-changing behavior. Scope expansion is dangerous because users may invoke the skill expecting read-only analytics while the agent may create files, export data, or perform broader actions that increase the risk of data leakage or unintended modifications.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

The trigger condition is broad enough to activate on many generic data-related requests, increasing the chance the agent will invoke file access, writing, or code execution when the user did not specifically request those capabilities. Over-broad activation is risky in this skill because it has read, write, exec, and glob, making unintended invocation materially more dangerous than for a purely informational skill.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Low
Category
Not specified by scanner
Confidence
85% confidence
Finding

The document repeatedly frames the skill as a local data-analysis helper operating on uploaded files in the working directory, and specifically emphasizes constrained file access. At L313, the error-handling text switches to operational guidance about executing ping, which is a materially different capability and conflicts with the narrowly described file-and-analysis workflow.

Content

No source excerpt is available for this finding.