T03 · Remote Payload Retrieval and Execution
- Location
SKILL.md:80- Finding
Unpinned Third-Party MCP Package Enables Remote Payload Retrieval and Execution
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 80–90
Vulnerability Type: Remote payload retrieval and execution through an unpinned GitHub dependency
Risk Level: HighVulnerable Code
bash openclaw mcp add opensora2 \ --command npx \ --arg -y \ --arg github:gpt-img-2/opensora2-prompt-mcp \ --include 'build_video_prompt,plan_shots,diagnose_prompt,get_resources'The alternative installation path in the same section instructs users to execute:
bash npx -y github:gpt-img-2/opensora2-prompt-mcpTechnical Analysis
The Skill instructs users to execute an MCP package directly from a GitHub repository through
npx. The dependency is identified only by its mutable repository name and is not pinned to an immutable commit hash or a reviewed, integrity-verified release.Consequently, the code executed at installation or startup can differ from the code originally reviewed. The
-yoption automatically accepts thenpxinstallation prompt, reducing the opportunity for users to notice or reject an unexpected package download.The MCP implementation is not included in the audited project, which contains only
SKILL.md. Therefore, the document's claim that the MCP provides deterministic, read-only helpers cannot be independently verified from the available artifact.Attack Path
- An attacker compromises the referenced GitHub account or repository, obtains permission to modify it, or compromises its dependency or release pipeline.
- The attacker adds malicious package lifecycle logic, startup code, or MCP handler code to the repository.
- A user follows the Skill's documented setup instructions or starts a previously configured MCP server.
npx -y github:gpt-img-2/opensora2-prompt-mcpretrieves the repository's current, attacker-controlled revision without requiring confirmation.- The malicious package executes with the privileges and environment of the user running OpenClaw or
npx. - The payload c ...[truncated 876 chars]
- Remediation
View remediation
Remediation Suggestions
- Pin the GitHub dependency to a reviewed immutable commit hash rather than a mutable repository reference.
- Prefer a versioned package distributed through a trusted registry with lockfile and integrity-hash verification.
- Remove
-yfrom user-facing installation instructions so package retrieval is not accepted automatically. - Vendor the reviewed MCP source in the Skill package or provide reproducible-build instructions and signed release artifacts.
- Document the expected commit hash, package checksum, publisher identity, and verification commands.
- Audit package lifecycle scripts and the complete transitive dependency graph before recommending execution.
- Run the MCP in a sandbox with minimum filesystem, environment-variable, tool, and network access.
- Separate installation from execution and require explicit user approval before updating to a different revision.
- Add an update policy requiring security review whenever the pinned revision or dependency set changes.
