Back to skill

Security audit

data-analysis-hub-fr

Security checks for vulnerabilities and agentic risk

Overview

This is a Markdown-only data-analysis skill with no embedded malware, but it requests read/exec authority and describes broad command, API, file, and package-install behavior that users should review before installing.

Install only if you are comfortable granting the agent read and command-execution capability for analytics work. Use a sandbox or virtual environment, approve package installs explicitly, avoid analyzing sensitive datasets with external APIs unless you know the destination, and restrict commands to the stated analytics task.

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:202
Finding
Unpinned Runtime Installation of Third-Party Dependencies## Vulnerability Details **File Location**: `SKILL.md`, lines 202–205 **Vulnerability Type**: Unpinned third-party dependencies installed at runtime **Risk Level**: Medium ### Vulnerable Code ```markdown | pandas | Python library | Optional | `pip install pandas` | | numpy | Python library | Optional | `pip install numpy` | | scipy | Python library | Optional | `pip install scipy` (required for hypothesis testing) | | statsmodels | Python library | Optional | `pip install statsmodels` (required for advanced statistics) | ``` The displayed English labels are translations of the original table; the installation commands are reproduced verbatim. ### Technical Analysis The Skill recommends installing four third-party Python packages without pinning reviewed versions or requiring integrity hashes. It also provides no lockfile, trusted package-index configuration, or artifact-verification procedure. Consequently, the installed artifacts may differ from those available when the Skill was audited. Python package installation can execute package-controlled build or installation logic. This creates a supply-chain exposure if a package release, transitive dependency, configured package index, or package-resolution environment is compromised. The reviewed instructions name established packages rather than apparent typosquatted packages, and installation is optional. No malicious dependency or active compromise was identified. The finding concerns the unsafe dependency-resolution practice itself. ### Attack Path 1. A user requests an analysis that requires one of the optional statistical libraries. 2. The Agent follows `SKILL.md` and invokes an unpinned `pip install` command. 3. `pip` resolves the current package and transitive dependencies using the environment's configured indexes. 4. An attacker-controlled artifact is selected due to a compromised release, dependency, index, mirror, or resolution configuration. 5. Malicious installation or runtime code executes ...[truncated 594 chars]
Remediation
## Remediation Suggestions 1. Pin every direct dependency to a reviewed version rather than installing the latest available release. 2. Maintain a lockfile that records exact transitive dependency versions. 3. Require package hashes, such as with `pip install --require-hashes -r requirements.txt`. 4. Explicitly use a trusted HTTPS package index and prevent fallback to untrusted mirrors or extra indexes. 5. Install dependencies inside an isolated, least-privileged virtual environment or container. 6. Require explicit user approval before installing or upgrading packages. 7. Scan and periodically review pinned packages and their transitive dependencies for known vulnerabilities. 8. Prefer prebuilt, internally reviewed environments for automated or sensitive-data analysis.
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 (7)

Natural-Language Policy Violations

Medium
Confidence
91% confidence
Finding
The description states '支持中文交互' and the document repeatedly frames the skill as Chinese-language oriented, but it does not explicitly offer language choice or explain a justified region-specific constraint. This can violate language or locale policy if the skill effectively forces a specific language without user opt-in.

Vague Triggers

Medium
Confidence
94% confidence
Finding
The trigger condition is so broad that it overlaps with many ordinary data-related requests, making unintended activation more likely. In the presence of read/exec tooling and ambiguous scope, over-triggering increases the chance that the skill is selected in contexts where its broader capabilities could expose files, run commands, or otherwise exceed user expectations.

Description-Behavior Mismatch

Medium
Confidence
96% confidence
Finding
The skill is presented as a narrowly scoped data-analysis assistant, but the documentation later expands its capabilities to generic file handling, API integration, and command execution. This scope mismatch is dangerous because it can cause an agent or user to grant broader trust and permissions than are justified, increasing the chance of misuse of exec/read capabilities under the guise of benign analytics.

Context-Inappropriate Capability

Medium
Confidence
90% confidence
Finding
Advertising external API integration without a clear analytics-specific need broadens the skill's effective authority and can enable data exfiltration or unreviewed outbound communications. In a skill that users expect to perform local or bounded analysis, undocumented external connectivity materially changes the trust model.

Context-Inappropriate Capability

Medium
Confidence
97% confidence
Finding
Claiming system command execution as a core capability is broader than necessary for a data-analysis assistant and materially increases attack surface. Because the manifest already includes exec, this documentation normalizes shell access in contexts where user requests may include untrusted data, creating risk of arbitrary command execution or abuse of the local environment.

Natural-Language Policy Violations

Low
Confidence
71% confidence
Finding
The display name uses a '-fr' suffix while the skill content emphasizes Chinese interaction, creating an unclear locale policy and no explicit user language choice. Even if accidental, conflicting locale signals can lead to unintended forced language behavior or deployment misclassification.

Intent-Code Divergence

Low
Confidence
78% confidence
Finding
The '已知限制' section states that custom report templates and branded output are disabled in the free version. Later, the core capabilities list says the skill supports reading, parsing, and writing multiple file formats, which conflicts with the earlier portrayal of a constrained free edition focused on structured markdown-style output.

Static analysis

No suspicious patterns detected.