T08 · Insecure Dependencies
- Location
SKILL.md:75- Finding
Insufficiently constrained third-party payment dependencies
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md:75
Vulnerability Type: Supply-chain exposure through dependencies with install-time execution capability
Risk Level: MediumVulnerable Code Snippet:
bash npm install @pump-fun/agent-payments-sdk@3.0.2 @solana/web3.js@^1.98.0The Skill also instructs users to install additional wallet-adapter packages without specifying versions:
markdown Install `@solana/wallet-adapter-react`, `@solana/wallet-adapter-react-ui`, and `@solana/wallet-adapter-wallets`.Technical Analysis
The primary payment SDK is pinned to version
3.0.2, but@solana/web3.jsis specified using a semver range, and the wallet-adapter dependencies are not pinned at all. The instructions do not require a reviewed lockfile, package integrity verification, lifecycle-script review, or an initial installation with scripts disabled.npm packages and their transitive dependencies can run lifecycle scripts during installation under the privileges of the user running npm. Consequently, later releases selected by the version range, compromised upstream releases, or malicious transitive dependencies could execute code that was not present during this audit.
No evidence establishes that the named packages are currently malicious. The vulnerability is the Skill's unsafe dependency acquisition and verification process, which leaves the effective installed code outside the reviewed package and insufficiently constrained.
Attack Path
- An upstream package account, release pipeline, or transitive dependency is compromised.
- A malicious package version is published within an allowed version range, or an unpinned wallet-adapter package resolves to the compromised release.
- A user or Agent follows the Skill's installation instructions.
- npm downloads the unreviewed version and may execute its lifecycle scripts.
- Malicious code executes with the npm process's user privile ...[truncated 677 chars]
- Remediation
View remediation
Remediation Suggestions
- Pin every direct dependency to an exact, reviewed version, including all wallet-adapter packages.
- Commit a reviewed lockfile and require reproducible installation through
npm cirather than unconstrainednpm install. - Verify package provenance and lockfile integrity before installation.
- Review package manifests and transitive dependencies for lifecycle scripts.
- Perform an initial dependency inspection with
npm install --ignore-scriptswhere compatible, and enable only explicitly required scripts after review. - Run installation in a restricted development environment without production secrets or unnecessary filesystem permissions.
- Add automated dependency scanning and require review before lockfile updates.
