T08 · Insecure Dependencies
- Location
SKILL.md:31- Finding
Runtime Execution of Inadequately Verified npm Dependencies
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 31-36
Vulnerability Type: Supply-chain exposure through unpinned and runtime-fetched npm packages
Risk Level: HighVulnerable Code
bash npm install -g mcporter mcporter config add 1ly --command "npx @1ly/mcp-server@0.1.6"The documented integrity check is:
bash npm view @1ly/mcp-server dist.integrityTechnical Analysis
The installation command retrieves the latest available version of
mcporterand installs it globally without a version pin. Consequently, the code installed can change between executions without any corresponding change to this Skill.The configured MCP command uses
npxto retrieve and execute@1ly/mcp-server@0.1.6. Although the MCP package has a pinned direct version,npxcan still download executable content at runtime, and the package's transitive dependencies are not locked by the Skill.The suggested
npm viewcommand only displays registry-provided integrity metadata. It does not compare the package against a trusted digest independently distributed by the publisher, and therefore does not protect against compromise of the package publisher account, npm registry metadata, or package release.This risk is especially significant because the executed MCP server may receive wallet private keys, seller API credentials, and authority to initiate financially consequential operations.
Attack Path
- An attacker compromises the
mcporterpackage, the@1ly/mcp-serverpackage, a transitive dependency, or the relevant npm publisher account. - The user follows the Skill instructions and installs the unpinned global
mcporterpackage or starts the MCP server throughnpx. - npm retrieves and executes the compromised package under the user's account.
- The malicious package reads wallet environment variables, wallet files, seller API credentials, or transaction inputs available to the MCP process.
- The attacker exfiltrates credenti ...[truncated 792 chars]
- An attacker compromises the
- Remediation
View remediation
Remediation Suggestions
- Pin
mcporterto an explicitly reviewed version instead of installing the latest release:bash npm install -g mcporter@<reviewed-version> - Avoid implicit runtime installation through
npx. Install the reviewed MCP package in a controlled project directory and invoke the local binary with package downloads disabled. - Commit a lockfile containing all transitive dependency versions and install with
npm ci. - Verify package archives against a trusted digest or signature published through a channel independent of the npm registry. Do not treat
npm view ... dist.integrityalone as an integrity guarantee. - Audit the MCP server and its transitive dependencies before granting access to wallet credentials.
- Run the MCP server in a sandbox with minimal filesystem, environment, and network access.
- Prefer a delegated or hardware-backed signer that requires policy approval rather than exposing raw wallet keys to the npm process.
- Use a dedicated low-balance wallet with transaction amount, destination, network, and token allowlists.
- Pin
