Back to skill

Security audit

Find MP Skills

Security checks for vulnerabilities and agentic risk

Overview

This skill has a coherent purpose, but it asks users to run unpinned remote npm commands that can install community code and change local and cloud project resources.

Review carefully before installing. Use a pinned, trusted version of `mp-skills`, avoid `add --all` unless you intentionally want every skill installed, inspect the selected remote skill content first, and run setup only in a version-controlled project with minimal cloud permissions because it can change files, cloud functions, databases, and environment configuration.

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 (2)

T08 · Insecure Dependencies

Warning
Location
SKILL.md:34
Finding
Execution of an Unpinned npm CLI Dependency## Vulnerability Details **File Location**: `SKILL.md`, lines 34-49, 87, 115-121, and 136 **Vulnerability Type**: Unpinned third-party executable dependency **Risk Level**: Medium ### Vulnerable Code ```bash npm install -g mp-skills npx mp-skills --help npx mp-skills find <keyword> npx mp-skills list npx mp-skills add TencentCloudBase/awesome-miniprogram-skills --skill <skill-name> npx mp-skills setup ``` ### Technical Analysis The Skill instructs the Agent to install and execute `mp-skills` without specifying an exact package version, integrity hash, lockfile, or verified package provenance. Both the global npm installation and repeated `npx` invocations can resolve a package version from the npm registry at execution time. Consequently, the code that runs may differ from the version that was reviewed when this Skill was authored. If the npm package, its publisher account, or a transitive dependency is compromised, invoking these commands can execute attacker-controlled installation hooks or runtime code under the current user's account. The instructions also require `mp-skills setup`, which is expected to modify project and cloud configuration. This increases the potential effect of a dependency compromise because the executable may have access to source files, environment configuration, cloud credentials available to the process, and network connectivity. ### Attack Path 1. An attacker compromises the `mp-skills` npm package, its publisher account, or one of its transitive dependencies. 2. The attacker publishes a malicious release or dependency update under the package name currently resolved by npm. 3. An Agent follows `SKILL.md` and runs `npm install -g mp-skills` or an unpinned `npx mp-skills` command. 4. npm downloads and executes the attacker-controlled package code. 5. The malicious code runs with the invoking user's privileges and can inspect or modify accessible project files, configurat ...[truncated 690 chars]
Remediation
## Remediation Suggestions - Pin `mp-skills` to an explicitly reviewed version, such as `npx mp-skills@X.Y.Z`. - Prefer a project-local development dependency governed by a committed lockfile instead of a global installation. - Install dependencies through `npm ci` so resolution follows the reviewed lockfile. - Verify npm package provenance, publisher identity, signatures where available, and expected integrity hashes. - Review transitive dependencies and lifecycle scripts before permitting execution. - Run the CLI in a restricted environment with only the minimum required filesystem, network, credential, and cloud permissions. - Require explicit user confirmation before commands that modify project files, databases, cloud functions, or environment configuration. - Document and verify the expected file and cloud-resource changes before and after setup.

T08 · Insecure Dependencies

Warning
Location
SKILL.md:99
Finding
Bulk Installation Command Presented as a Read-Only Discovery Fallback## Vulnerability Details **File Location**: `SKILL.md`, lines 99-102 **Vulnerability Type**: Unreviewed bulk dependency installation **Risk Level**: Medium ### Vulnerable Code ```bash npx mp-skills add TencentCloudBase/awesome-miniprogram-skills --all ``` ### Technical Analysis When a search returns no result, the Skill recommends executing `add ... --all` as a way to view all available Skills. The command name and `--all` option indicate an installation operation rather than a read-only listing operation. This semantic mismatch can cause the Agent or user to install every Skill from the remote repository while expecting only discovery output. Bulk installation expands the supply-chain attack surface, bypasses per-Skill review, and introduces project changes unrelated to the user's original request. The command also retrieves content from a remote repository without pinning a commit or release. Therefore, the set and content of installed Skills may change after this Skill file has been reviewed. ### Attack Path 1. The requested keyword produces no search result. 2. The Agent follows the documented fallback and runs the `add ... --all` command. 3. All Skills currently exposed by the remote repository are downloaded and installed. 4. An unsafe, compromised, or unexpectedly modified Skill is included among the installed content. 5. Subsequent project setup or use loads that Skill's components, cloud functions, configuration, or other project modifications. 6. The unsafe Skill gains access to the project and any resources available during its setup or execution. ### Impact Assessment The immediate impact is unauthorized or unexpected modification of the target project through bulk installation. Depending on the contents of the installed Skills and later setup actions, the affected scope may include: - Application source files and Skill registration entries. - Cloud functions and application configuration. - Da ...[truncated 358 chars]
Remediation
## Remediation Suggestions - Replace the modifying `add --all` fallback with a genuinely read-only list or search command. - If no read-only CLI operation exists, query trusted repository metadata without installing its contents. - Clearly state that `add --all` installs every available Skill and must not be used merely for discovery. - Require explicit user confirmation before any bulk installation. - Display the complete installation plan, including Skill names, versions, source commit, and affected paths, before making changes. - Pin the remote repository to a reviewed commit hash or signed release. - Install only the individually selected Skill rather than the entire repository. - Validate downloaded content and review setup scripts, cloud functions, dependencies, and configuration changes before execution. - Provide rollback instructions or perform installation in a version-controlled working tree so unexpected changes can be reverted.
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (17)

Natural-Language Policy Violations

Medium
Confidence
95% confidence
Finding
The skill description is written to trigger on Chinese-language user intent and the document consistently assumes Chinese as the interaction language, but it does not offer any language or locale opt-in. Under the stated policy, forcing a specific language without user choice is a natural-language policy violation unless the locale restriction is explicitly justified.

Missing User Warnings

Medium
Confidence
90% confidence
Finding
The skill explicitly authorizes installation into a local mini-program project and later requires `setup` that aggregates cloud functions, creates databases, and writes environment configuration, but it does not foreground these side effects as a user-facing warning before action. This can lead users to trigger project and cloud-resource mutations without fully informed consent, increasing the risk of unintended code changes, cost, privilege expansion, or deployment of unreviewed components.

Rp1

Medium
Category
MCP Rug Pull
Confidence
95% confidence
Finding
The skill repeatedly instructs use of `npx mp-skills` without pinning an exact package version. `npx` may fetch the latest package at execution time, so a compromised upstream package, malicious update, or breaking change could cause arbitrary code execution on the developer machine or unintended project modifications during installation/setup.

Rp1

Medium
Category
MCP Rug Pull
Confidence
95% confidence
Finding
This command reference uses `npx mp-skills` without a pinned version, allowing execution of whatever version is currently published. That creates supply-chain risk and reduces reproducibility, especially because this skill is explicitly used to install code into local projects.

Rp1

Medium
Category
MCP Rug Pull
Confidence
95% confidence
Finding
Using `npx mp-skills find <keyword>` without version pinning exposes users to remote package substitution or malicious updates. Because the CLI is run interactively by users, any upstream compromise could execute code before or during the search operation.

Rp1

Medium
Category
MCP Rug Pull
Confidence
95% confidence
Finding
The unpinned `npx mp-skills list` command inherits the same supply-chain risk as other `npx` invocations. Even read-like commands are dangerous because fetching and starting an untrusted CLI can execute arbitrary code on the host.

Rp1

Medium
Category
MCP Rug Pull
Confidence
96% confidence
Finding
This installation command runs an unpinned package and then pulls skill content from a remote repository, compounding supply-chain exposure. An attacker who compromises the CLI or its distribution channel could alter installed files, inject backdoors, or execute code on the workstation.

Rp1

Medium
Category
MCP Rug Pull
Confidence
96% confidence
Finding
The `--all` installation path is especially risky because it may install a large set of remote skills while using an unpinned CLI. This amplifies the blast radius of a compromised package or unexpected upstream change by increasing the amount of imported code and project modification.

Rp1

Medium
Category
MCP Rug Pull
Confidence
94% confidence
Finding
Even the removal command uses an unpinned `npx` invocation, preserving the same risk of arbitrary code execution through a substituted or malicious package version. While the functional intent is cleanup, the execution path still trusts live package resolution.

Rp1

Medium
Category
MCP Rug Pull
Confidence
97% confidence
Finding
`npx mp-skills setup` is particularly sensitive because the skill states it will aggregate cloud functions, create databases, and write environment configuration. Running that through an unpinned CLI can enable arbitrary local and cloud-side changes if the package is malicious or unexpectedly changed upstream.

Rp1

Medium
Category
MCP Rug Pull
Confidence
95% confidence
Finding
Validation commands may appear safe, but invoking an unpinned remote CLI still creates an execution sink for malicious package code. In this skill, the CLI interacts with project directories, so compromise could leak source code or alter files under the guise of validation.

Rp1

Medium
Category
MCP Rug Pull
Confidence
94% confidence
Finding
The dependency guidance tells users to install `mp-skills` globally without identifying a fixed version. This weakens reproducibility and creates a broader exposure window because later invocations may silently use whatever release is obtained during install time.

Rp1

Medium
Category
MCP Rug Pull
Confidence
95% confidence
Finding
The workflow explicitly instructs users to run `npx mp-skills find <keyword>` without version pinning. Since this skill's purpose is to discover and install remote code, unpinned CLI execution is materially dangerous in context and not just a theoretical hygiene issue.

Rp1

Medium
Category
MCP Rug Pull
Confidence
94% confidence
Finding
The `list` step is another unpinned `npx` execution and therefore remains vulnerable to upstream package compromise. Although the intended action is non-destructive, the host must still execute the fetched CLI code.

Rp1

Medium
Category
MCP Rug Pull
Confidence
96% confidence
Finding
This install step combines unpinned CLI execution with installation of code from a remote repository into a local application. In context, that makes the finding more dangerous because both the tool and the downloaded skill content can influence the target project and potentially introduce persistent malicious code.

Rp1

Medium
Category
MCP Rug Pull
Confidence
97% confidence
Finding
The post-install `setup` command is unpinned and described as performing cloud and local configuration changes. Because it can create resources and write configuration, any compromised or changed CLI version could cause significant unauthorized modifications or credential exposure.

Rp1

Medium
Category
MCP Rug Pull
Confidence
94% confidence
Finding
This final setup instruction again relies on an unpinned `npx` command for a state-changing operation. Repetition throughout the skill normalizes unsafe execution of mutable upstream tooling, increasing the chance that users will run it without scrutiny.

Static analysis

No suspicious patterns detected.