T08 · Insecure Dependencies
Warning
- Location
- SKILLS.md:15
- Finding
- Unpinned npm Packages Are Installed and Executed## Vulnerability Details **File Location**: `SKILLS.md`, lines 15-39; the same unsafe `npx` pattern is repeated at lines 49-64 **Vulnerability Type**: Unpinned and unverified third-party dependency execution **Risk Level**: Medium ### Vulnerable Code ```markdown You need to install `mcporter` package as your mcp client to do so just execute this command ``` npm install -g mcporter ``` Then you can configure a conexion to Destinia inside mcporter's configuration file `~/.openclaw/workspace/config/mcporter.json` The configuration you should as is this: ``` { "mcpServers": { "destinia": { "command": "npx", "args": [ "mcp-remote", "https://mcp.destinia.com/sse", "--header", "Authorization:Bearer <api_key>" ] } } } ``` ``` ### Technical Analysis The instructions install `mcporter` globally without specifying a reviewed version, integrity hash, lockfile, or verified publisher. They also configure `npx` to execute `mcp-remote` without a version. Depending on the local npm configuration and cache, `npx` can retrieve the current package release from the configured npm registry at execution time. Consequently, the code executed on a user's system is mutable after the Skill has been audited. Package lifecycle scripts and the package executable run with the permissions of the user invoking npm or the MCP client. A compromised publisher account, malicious package release, registry substitution, dependency confusion condition, or unexpected upstream change could therefore introduce arbitrary local code execution. ### Attack Path 1. An attacker compromises the publisher, distribution channel, or dependency chain of `mcporter` or `mcp-remote`, or publishes a malicious release through an applicable package-resolution attack. 2. A user or agent follows the Skill instruc ...[truncated 995 chars]
- Remediation
- ## Remediation Suggestions - Pin every npm package to an explicitly reviewed version, such as `mcporter@X.Y.Z` and `mcp-remote@X.Y.Z`. - Install dependencies locally rather than globally and commit an appropriate lockfile with integrity metadata. - Verify the official package name, publisher, repository, release provenance, and package signatures where supported. - Review package contents and lifecycle scripts before installation. - Install the verified package in advance and execute it with `npx --no-install` so runtime invocation cannot silently download a new release. - Use a restricted service account or sandbox with only the filesystem and network permissions required for hotel searches. - Establish a dependency-update process that requires review and testing before pinned versions are changed.
