Back to skill

Security audit

moneydevkit

Security checks for vulnerabilities and agentic risk

Overview

This is a coherent payment-integration skill with disclosed wallet-secret and account-management risks, but no hidden, automatic, destructive, or deceptive behavior was found.

Install only if you trust MoneyDevKit and are comfortable granting payment-account tooling access. Prefer testnet or signet first, keep `MDK_MNEMONIC` and `MDK_ACCESS_TOKEN` only in a secrets manager, do not commit or log them, review any generated project changes, and consider pinning or verifying npm package versions before running the optional `npx` setup.

Vulnerability Patterns
  • Insecure DependenciesIntroduces malicious components through unsafe dependency sources
  • Skill Instruction HijackingAlters the agent's session goals or safety constraints when the skill loads
  • Agent Memory PoisoningWrites attacker-controlled rules into memory that affect later sessions
  • Remote Payload Retrieval and ExecutionFetches external code whose behavior can change after review
  • Embedded Malicious CodeShips malicious scripts inside the skill and executes them locally
Findings (1)

T08 · Insecure Dependencies

Warning
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: Medium

Vulnerable Code:

markdown
**Option B — CLI:**
```bash
npx @moneydevkit/create
text

### 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

  1. Replace the mutable command with an exact, reviewed package version, for example:

    bash
    npx --yes @moneydevkit/create@X.Y.Z
    
  2. Verify the selected release's npm provenance, publisher identity, integrity metadata, and source repository before recommending it.

  3. Prefer installing through a committed lockfile with integrity hashes and then invoking the locally installed binary.

  4. Establish dependency-update review so version changes receive a new security assessment before documentation is updated.

  5. Run initialization in an isolated, least-privileged environment without production wallet seeds, API tokens, or unrelated credentials.

  6. Use testnet or signet credentials during setup and introduce production secrets only after initialization is complete and the generated changes have been reviewed.

  7. Consider providing a small, auditable local setup script in place of executing mutable registry-hosted initialization code.

Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
Findings (7)

Ae1

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

Scanner excerpt · SKILL.md (reported line 60)May include surrounding context.

md
- **Next.js** → read [references/nextjs.md](references/nextjs.md)

Rp1

Medium
Category
MCP Rug Pull
Confidence
70% confidence
Finding

npx commands without a version suffix (e.g. @1.0.0) create a rug-pull risk if the upstream server is compromised and publishes a malicious update.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
89% confidence
Finding

The skill instructs users to run npx @moneydevkit/create without pinning an exact package version. Because npx fetches and executes the latest published package by default, a compromised publisher account, malicious update, or supply-chain hijack could lead to arbitrary code execution on the developer's machine during setup. The skill context increases risk because users are also handling high-value secrets such as MDK_ACCESS_TOKEN and especially MDK_MNEMONIC, so a malicious installer could exfiltrate wallet credentials and enable theft of funds.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The documentation tells users to place an API access token and a mnemonic in environment variables but does not warn that these are highly sensitive secrets whose exposure could enable account compromise, unauthorized payments activity, or wallet recovery. In a payments integration context, a mnemonic is especially sensitive because developers may underestimate that it can provide direct control over funds or identity tied to the payment system.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
85% confidence
Finding

The example shows collection of customer email, name, and externalId without any guidance about consent, minimization, retention, or secure handling of personal data. In a payments workflow, developers are likely to copy this pattern directly, which can lead to unnecessary collection of PII and noncompliant or insecure processing of customer data.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The documentation instructs users to place a wallet mnemonic in environment variables but gives no warning that this secret can grant full control over funds if exposed through logs, screenshots, repo sync, or misconfigured deployment secrets. In a payments integration, a mnemonic is far more sensitive than a typical API key, so omitting secure-handling guidance materially increases the chance of credential theft and fund loss.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
88% confidence
Finding

The example encourages collection of customer email, name, and external ID without any notice about consent, retention, minimization, or legal/privacy obligations. In a payment flow, this can lead integrators to over-collect or mishandle personal data, increasing the risk of privacy violations, unnecessary exposure in logs/datastores, and regulatory noncompliance.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.