Back to skill

Security audit

Create MP Skill

Security checks for vulnerabilities and agentic risk

Overview

The skill has a coherent purpose, but it asks the agent to run and trust an unpinned external npm CLI that can modify the project.

Review carefully before installing. Use a pinned or locally locked mp-skills version, verify the package source, run it in a version-controlled project, and inspect the generated files and app.json diff before committing or deploying.

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

Execution of an Unpinned npm Package Through npx

Content
View full analysis
Remediation
View remediation
--help ``` 2. Prefer installing the dependency through a committed lockfile from an approved registry, and then prohibit implicit downloads: ```bash npm ci npx --no-install mp-skills --help ``` 3. Record and verify the expected package integrity hash. Use registry allowlisting, package signatures, or provenance verification where supported. 4. Validate that the resolved generator and validator directories are located under the expected verified package installation directory before reading instructions or executing scripts from them. 5. Do not automatically trust paths printed by package output. Reject absolute or unexpected paths outside the approved installation root and resolve symbolic links before validation. 6. Review and pin the transitive dependency graph. Enable automated dependency scanning and require explicit approval before upgrading `mp-skills`. 7. Execute generator and validator scripts in a constrained environment with minimum filesystem access, restricted network access, and no unnecessary credentials. 8. Replace the setup instruction with a version-pinned, integrity-verified installation procedure and document the exact approved package version. ]]>
Vulnerability Patterns
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • 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
Findings (9)

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
87% confidence
Finding

The skill is designed to generate code and register the new skill in app.json, but it does not clearly warn the user up front that repository files will be created or modified. In an agentic context, silent workspace mutation can lead to unintended changes, accidental commits, or corruption of an existing project, especially because the workflow includes repeated fix-up loops until validation passes.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
92% confidence
Finding

The skill depends on invoking npx mp-skills without pinning an exact package version. npx can fetch and execute whatever version is currently published or otherwise resolved in the environment, which creates a supply-chain risk and can change behavior between runs. In this skill, that command is a prerequisite for discovering paths and driving subsequent generation/validation workflow, so a compromised or breaking upstream release could affect the whole project.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
92% confidence
Finding

Referencing npx mp-skills setup without a pinned version exposes users to execution of an unpinned remote package. Because setup prepares the development environment, unexpected package changes or a malicious publish could lead to arbitrary code execution in the developer context or project misconfiguration.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
92% confidence
Finding

The reference material explicitly instructs use of npx mp-skills --help to discover tool paths, but the package version is not fixed. Even seemingly harmless help commands still execute package code, so a compromised or incompatible version can alter output, misdirect later file reads, or run arbitrary install-time/runtime logic.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
89% confidence
Finding

Step 2 instructs creation of files under skills/<skill-name>/ but does not include an explicit write warning or consent checkpoint before local filesystem changes. In this context the skill is a code generator, so file writes are expected, but the lack of prominent notice increases the risk of surprising or unsafe modifications in the user’s project.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
93% confidence
Finding

Step 3 tells the agent to run npx mp-skills --help and then trust its output to locate additional skill directories. Because the command is unpinned, an attacker controlling package resolution or a malicious upstream release could influence both executed code and the paths later consumed by the workflow.

Content

No source excerpt is available for this finding.

Skill Enumeration

Medium
Category
Agent Snooping
Confidence
80% confidence
Finding

Skill enumerates or reads other installed skills. Access to other skills' SKILL.md files or the skills directory reveals prompt instructions, capabilities, and secrets that should be invisible to peer skills.

Content

Scanner excerpt · SKILL.md (reported line 140)May include surrounding context.

输出底部会显示:

text
工具型 Skill 路径(供 AI 模型引用):
  wxa-skills-generate: /Users/xxx/.mp-skills/skills/wxa-skills-generate/SKILL.md
  wxa-skills-validate: /Users/xxx/.mp-skills/skills/wxa-skills-validate/SKILL.md

Skill Enumeration

Medium
Category
Agent Snooping
Confidence
80% confidence
Finding

Skill enumerates or reads other installed skills. Access to other skills' SKILL.md files or the skills directory reveals prompt instructions, capabilities, and secrets that should be invisible to peer skills.

Content

Scanner excerpt · SKILL.md (reported line 141)May include surrounding context.

text
工具型 Skill 路径(供 AI 模型引用):
  wxa-skills-generate: /Users/xxx/.mp-skills/skills/wxa-skills-generate/SKILL.md
  wxa-skills-validate: /Users/xxx/.mp-skills/skills/wxa-skills-validate/SKILL.md

记录两个路径(去掉末尾的 /SKILL.md):

Rp1

Medium
Category
MCP Rug Pull
Confidence
90% confidence
Finding

The closing instruction again asks users to run npx mp-skills setup without a pinned version, repeating the same supply-chain risk. Since setup changes local environment and project state, this is materially riskier than a purely informational command and can affect all downstream usage of the skill.

Content

No source excerpt is available for this finding.