Back to skill

Security audit

Claws Nft

Security checks for vulnerabilities and agentic risk

Overview

The skill has a coherent NFT-minting purpose, but it asks users to sign a server-created Solana transaction without requiring transaction validation first.

Install only if you are comfortable reviewing the transaction before signing. Use a dedicated wallet funded with only the minimum SOL needed, decode the transaction independently, verify expected mint programs/accounts/fees/transfers, and abort if anything is unclear or extra.

Vulnerability Patterns
  • Insecure Skill Coding PracticesFinds exploitable flaws such as hardcoded secrets or command injection
  • 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)

T09 · Insecure Skill Coding Practices

Error
Location
SKILL.md:73
Finding

Unverified Signing of a Server-Controlled Solana Transaction

Content
View full analysis
" }' ``` ### Technical Analysis The Skill instructs the agent to deserialize a base64-encoded Solana versioned transaction supplied by the remote `/api/mint` endpoint and sign it using the user's keypair. It does not require semantic validation of the transaction before signing. No checks are specified for: - Solana program IDs invoked by the transaction - Instruction types and instruction data - Recipient and destination accounts - SOL or SPL token transfer amounts - Signer and writable-account permissions - Mint, Candy Machine, collection, or backend signer addresses - Address lookup tables used by the versioned transaction - Additional instructions unrelated to the intended NFT mint - Transaction fees and the user's maximum expected cost - Authority delegation, approval, revocation, or account-closing operations Local signing protects the private key from direct disclosure, but it does not protect assets from malicious transactions authorized by that key. A malicious or compromised backend can return a transaction containing unintended instructions alongside, or instead of, the expected NFT mint operation. Once signed, the transaction carries valid authorization from the wallet. Submitting the signed transaction back to the service compounds the issue because the backend controls both transaction construction and the suggested submission channel. The documentation prov ...[truncated 2063 chars]
Remediation
View remediation
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Rogue AgentSelf-Modification, Session Persistence
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
Findings (6)

Intent-Code Divergence

High
Category
Not specified by scanner
Confidence
98% confidence
Finding

The skill claims it does not execute arbitrary code, yet the mint flow explicitly tells the user/agent to evaluate challenge content that may be 'math, code, or logic.' If challenge prompts are supplied by a remote server and code evaluation is performed automatically, this can lead to untrusted code execution or unsafe interpretation of attacker-controlled input.

Content

No source excerpt is available for this finding.

Session Persistence

Medium
Category
Rogue Agent
Confidence
60% confidence
Finding

Skill establishes unauthorized persistence across sessions via cron jobs, startup scripts, or state files. Session persistence allows an attacker to maintain access beyond the current interaction.

Content

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

Install locally:

bash
mkdir -p ~/.openclaw/skills/claws-nft
curl -s https://clawsnft.com/skill.md > ~/.openclaw/skills/claws-nft/SKILL.md

Skill Enumeration

Medium
Category
Agent Snooping
Confidence
80% confidence
Finding

Skill enumerates or reads other installed skills. Access to other skills' SKILL.md files or the skills directory reveals prompt instructions, capabilities, and secrets that should be invisible to peer skills.

Content

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

Install locally:

bash
mkdir -p ~/.openclaw/skills/claws-nft
curl -s https://clawsnft.com/skill.md > ~/.openclaw/skills/claws-nft/SKILL.md

Or just read the URL directly!

External Transmission

Medium
Category
Data Exfiltration
Confidence
60% confidence
Finding

Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Content

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

Install locally:

bash
mkdir -p ~/.openclaw/skills/claws-nft
curl -s https://clawsnft.com/skill.md > ~/.openclaw/skills/claws-nft/SKILL.md

Or just read the URL directly!

Unrestricted Tool Access

Medium
Category
Excessive Agency
Confidence
80% confidence
Finding

Skill grants unrestricted tool access without appropriate constraints. An agent with unfettered tool access can perform arbitrary actions including file modification, network requests, and code execution.

Content

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

md
🔒 **CRITICAL:**

- Your Solana private key should **never** leave your local environment — signing happens locally
- This skill makes only HTTPS API calls. It does not access your filesystem, run shell commands, or execute arbitrary code

## How It Works

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
98% confidence
Finding

The skill instructs the user/agent to deserialize, sign, and submit a backend-provided Solana transaction without requiring inspection of the instructions, accounts, fees, or transfers. A partially signed transaction from a remote service could include unintended token/SOL transfers, approvals, or other harmful instructions, causing wallet loss once countersigned.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.