T08 · Insecure Dependencies
- Location
SKILLS.md:15- Finding
Unpinned npm Packages Are Installed and Executed
- Content
View full analysis
Vulnerability Details
File Location:
SKILLS.md, lines 15-39; the same unsafenpxpattern is repeated at lines 49-64
Vulnerability Type: Unpinned and unverified third-party dependency execution
Risk Level: MediumVulnerable Code
markdown You need to install `mcporter` package as your mcp client to do so just execute this commandtext npm install -g mcportertext 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>" ] } } }
text Technical Analysis
The instructions install
mcporterglobally without specifying a reviewed version, integrity hash, lockfile, or verified publisher. They also configurenpxto executemcp-remotewithout a version. Depending on the local npm configuration and cache,npxcan 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
- An attacker compromises the publisher, distribution channel, or dependency chain of
mcporterormcp-remote, or publishes a malicious release through an applicable package-resolution attack. - A user or agent follows the Skill instruc ...[truncated 995 chars]
- An attacker compromises the publisher, distribution channel, or dependency chain of
- Remediation
View remediation
Remediation Suggestions
- Pin every npm package to an explicitly reviewed version, such as
mcporter@X.Y.Zandmcp-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-installso 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.
- Pin every npm package to an explicitly reviewed version, such as
