T08 · Insecure Dependencies
- Location
SKILL.md:34- Finding
Unpinned Third-Party Package Retrieval and Execution
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 34–37
Vulnerability Type: Unpinned npm package execution
Risk Level: MediumVulnerable Code:
markdown **Option B — CLI:** ```bash npx @moneydevkit/createtext ### Technical Analysis The documented command causes `npx` to resolve, retrieve, and execute the currently available version of the third-party `@moneydevkit/create` package. No exact version, integrity hash, lockfile, or provenance-verification mechanism is specified. Consequently, the code executed by users can change after this Skill has been reviewed. A compromised npm publisher account, malicious future package release, or registry-level supply-chain compromise could turn this setup command into an arbitrary code-execution channel. The exposure is especially sensitive because the documented workflow handles `MDK_ACCESS_TOKEN` and `MDK_MNEMONIC`. The latter is a wallet seed phrase capable of controlling funds. Although the audited files contain no evidence that the current package is malicious, the mutable and unverified execution mechanism creates a supply-chain vulnerability. ### Attack Path 1. An attacker compromises the npm publisher account, publishing process, or package distribution channel for `@moneydevkit/create`. 2. The attacker publishes a malicious release under the legitimate package name. 3. A user follows the Skill and runs `npx @moneydevkit/create`. 4. `npx` resolves and downloads the compromised release because no reviewed version is pinned. 5. Package-controlled initialization code executes with the user's local operating-system privileges. 6. The malicious code can inspect accessible files and environment variables, modify the project, or collect MoneyDevKit credentials if they are present. 7. Stolen wallet material or API credentials can then be used outside the affected system. ### Impact Assessment Successful exploitation permits arbitrary code execution with the privileges of the user in ...[truncated 594 chars]- Remediation
View remediation
Remediation Suggestions
-
Replace the mutable command with an exact, reviewed package version, for example:
bash npx --yes @moneydevkit/create@X.Y.Z -
Verify the selected release's npm provenance, publisher identity, integrity metadata, and source repository before recommending it.
-
Prefer installing through a committed lockfile with integrity hashes and then invoking the locally installed binary.
-
Establish dependency-update review so version changes receive a new security assessment before documentation is updated.
-
Run initialization in an isolated, least-privileged environment without production wallet seeds, API tokens, or unrelated credentials.
-
Use testnet or signet credentials during setup and introduce production secrets only after initialization is complete and the generated changes have been reviewed.
-
Consider providing a small, auditable local setup script in place of executing mutable registry-hosted initialization code.
-
