T08 · Insecure Dependencies
- Location
SKILL.md:50- Finding
Unpinned Global npm Package Installation
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
The skill’s WeCom document purpose is coherent, but its setup can install a global npm tool and configure remote MCP endpoints from unvalidated local or user-provided values.
Install only if you trust the mcporter npm package and the WeCom/OpenClaw environment. Do not paste MCP URLs or JSON configuration from untrusted sources, and verify the endpoint before allowing the skill to configure it because future document actions will use that server.
SKILL.md:50Unpinned Global npm Package Installation
SKILL.md:311Shell Command Injection Through Untrusted MCP Configuration Values
The skill declares that vague requests like 'help me write a document' should default to this integration without confirming platform intent. That broad trigger can cause unintended activation of a tool-capable skill, increasing the chance of accidental document creation, editing, or environment-modifying setup actions when the user only wanted general writing help.
The skill instructs installing a global npm package that changes the host environment. Although it asks for confirmation first, it does not disclose the security implications of executing a system-wide install from the network, which could surprise users and expands the trusted computing base.
The skill reads a local config file containing MCP connection details and uses its contents for automatic configuration without notifying the user that local sensitive runtime data is being accessed. Even if intended for convenience, this reduces transparency and can expose internal service endpoints or trust relationships to unintended workflows.
The skill accepts locally sourced or user-provided URLs and feeds them directly into MCP configuration, causing future tool calls to connect to an arbitrary remote endpoint. This creates a clear SSRF/trust-boundary problem: a malicious or mistaken URL could redirect the agent to an attacker-controlled MCP server that returns deceptive tool metadata or performs unauthorized actions.
The skill claims editing is restricted to documents created within the current session, but later allows dynamic configuration of the backing MCP endpoint from local config or user-supplied URLs. That means the real authorization boundary is delegated to whatever remote MCP server gets configured, so the documented safety guarantee is weaker than represented and may permit operations on arbitrary documents if the endpoint is broader than assumed.
The stated purpose is document and smart-sheet operations, but the instructions also direct the agent to read ~/.openclaw/wecomConfig/config.json, inspect OPENCLAW_SHELL, and query OpenClaw channel configuration. These host/environment inspection capabilities are not part of the user-facing document workflow itself; they are ancillary bootstrapping behavior. While operationally convenient, this is broader than the manifest's narrowly stated document-editing purpose.
The entire reference is written in Chinese and does not indicate that another language is available or that the Chinese-only presentation is an intentional, documented locale constraint. Under the policy for natural-language issues, forcing a specific language without user opt-in can be a violation.
No suspicious patterns detected.