Back to skill

Security audit

SP3ND — Shop products and Collector Crypt cards with USDC

Security checks for vulnerabilities and agentic risk

Overview

The skill is a disclosed USDC shopping checkout integration with real spending and fulfillment risks, but I found no hidden or purpose-mismatched behavior.

Install only if you trust SP3ND with API credentials, wallet-based USDC payments, and shipping/contact details. Use a dedicated least-funded wallet, set explicit spending limits or human approval rules, pin or verify the package source before install, and remember that Collector Crypt payment is final before SP3ND manually completes NFT delivery.

Vulnerability Patterns
  • 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
  • Unauthorized Access and Privilege EscalationObtains permissions beyond the task's legitimate needs
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (5)

Ae1

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

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

md
scripts/x402-pay-with-memo.mjs

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.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The README describes an irreversible USDC payment flow for Collector Crypt cards where SP3ND manually acquires and later transfers the NFT, but it does not prominently warn users that payment finality occurs before delivery and that listing availability is not reserved. In this skill context, that omission is materially dangerous because agents may autonomously initiate blockchain payments, exposing users to custody, fulfillment, refund-delay, and non-delivery risk in a manual off-chain fulfillment step.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Medium
Category
Not specified by scanner
Confidence
97% confidence
Finding

The sample code treats pricing_status === "quoted" as sufficient alongside payment_ready === true, even though the surrounding documentation says quoted is deprecated compatibility metadata and the canonical payable state is ready_for_payment. In a payment skill, examples are highly likely to be copied directly into implementations, so this inconsistency can cause clients to authorize payment under stale or ambiguous quote states, weakening the intended payment gating logic.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The manifest requires collection of sensitive personal data for shipped-product orders, including full name, recipient, physical address, phone number, and email, but does not present any explicit privacy notice, data handling disclosure, retention statement, or user-consent guidance. In a purchasing and fulfillment skill, this omission increases the risk of overcollection, unclear downstream sharing with fulfillment providers, and unsafe agent behavior that may request or transmit PII without adequately informing the user.

Content

No source excerpt is available for this finding.

Static analysis

Detected: suspicious.env_credential_access

Environment variable access combined with network send.

Critical
Code
suspicious.env_credential_access
Location
scripts/x402-pay-with-memo.mjs:28