Back to skill

Security audit

Clawland

Security checks across malware telemetry and agentic risk

Overview

This appears to be a real Solana devnet game skill, but it needs review because it can auto-install packages, use API credentials, create and link a wallet, and submit repeated token-spending transactions.

Install only after reviewing the scripts and treating this as more than a simple game helper. Use a devnet-only wallet with no valuable assets, avoid or strictly limit autoplay, confirm mint/play/redeem actions yourself, keep CLAWLAND_API_KEY and wallet.json private, and be aware the first script run may install npm packages automatically.

SkillSpector

By NVIDIA
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
Findings (12)

Lp3

Medium
Category
MCP Least Privilege
Confidence
94% confidence
Finding
The skill requires network access and reads an API key from environment/config, but those capabilities are not explicitly declared in permissions. This weakens reviewability and consent because operators may not realize the skill will make authenticated external requests and handle sensitive configuration.

Tp4

High
Category
MCP Tool Poisoning
Confidence
97% confidence
Finding
The documented behavior materially exceeds the stated purpose: it not only plays games, but also links a wallet to an external profile, redeems assets to USDC, and performs authenticated API operations using a secret. That mismatch can cause users or orchestration systems to authorize a gambling/game skill without realizing it also moves assets and binds identity across systems.

Description-Behavior Mismatch

Medium
Confidence
92% confidence
Finding
The manifest frames the skill as on-chain gameplay, but the documentation also exposes off-chain API gameplay and community/chat features. Hidden or undocumented capability expansion increases attack surface and can lead to unintended external communications or token use outside the expected trust boundary.

Intent-Code Divergence

Medium
Confidence
84% confidence
Finding
The documentation is internally inconsistent about whether setup-wallet.js performs an airdrop, while setup guidance instructs users not to use airdrops and instead fund via a third-party wallet service. Security-relevant contradictions around funding flows can mislead users into unsafe operational choices or conceal what the script actually does on first run.

Context-Inappropriate Capability

Medium
Confidence
93% confidence
Finding
The utility automatically runs `npm init` and `npm install` via `execSync` when dependencies are missing, which gives the skill shell-execution and package-fetching capability beyond its stated on-chain gameplay purpose. This creates supply-chain and environment-manipulation risk, especially because the code executes network-fetched packages at runtime without explicit user approval or integrity pinning.

Context-Inappropriate Capability

Low
Confidence
84% confidence
Finding
The skill reads an external API key from the environment or a local credentials file even though this file otherwise supports Solana devnet gameplay. That mismatch expands the trust boundary and may enable undisclosed off-chain service access using local secrets, which is unnecessary unless clearly documented and justified.

Missing User Warnings

Medium
Confidence
90% confidence
Finding
Autoplay initiates repeated on-chain bets where losses burn tokens, yet the skill does not prominently warn that automation can rapidly consume assets and incur transaction fees. In a gambling context, insufficient disclosure is risky because users may trigger unattended spending loops without understanding the financial downside.

Missing User Warnings

Medium
Confidence
94% confidence
Finding
The documentation describes minting, betting, winning, losing, and redeeming assets but does not clearly warn users that bets can irreversibly burn tokens and that redemption applies a 5% fee. In a blockchain context, users may treat these flows like reversible app actions; missing loss/fee disclosures can mislead them into spending real assets without understanding the downside.

Missing User Warnings

Medium
Confidence
95% confidence
Finding
This script automatically submits multiple signed betting transactions in a loop using the user's wallet, which can spend GEM and SOL fees without any per-round confirmation or explicit risk acknowledgment. In the context of an on-chain gambling/autoplay skill, that behavior is especially risky because a mistaken command, unexpected parameter value, or unattended execution can rapidly deplete funds.

Missing User Warnings

Medium
Confidence
88% confidence
Finding
The code silently accesses `CLAWLAND_API_KEY` and then falls back to reading a local `credentials.json` file without any disclosure or consent flow. Silent secret consumption is dangerous because users may not realize the skill can access and potentially use non-wallet credentials from their environment or home directory.

Credential Access

High
Category
Privilege Escalation
Content
const key = process.env.CLAWLAND_API_KEY;
  if (!key) {
    // Try reading from config
    const credPath = path.join(CONFIG_DIR, 'credentials.json');
    if (fs.existsSync(credPath)) {
      const cred = JSON.parse(fs.readFileSync(credPath, 'utf8'));
      return cred.api_key;
Confidence
81% confidence
Finding
credentials.json

Credential Access

High
Category
Privilege Escalation
Content
const cred = JSON.parse(fs.readFileSync(credPath, 'utf8'));
      return cred.api_key;
    }
    console.error('❌ CLAWLAND_API_KEY not set and no credentials.json found');
    process.exit(1);
  }
  return key;
Confidence
79% confidence
Finding
credentials.json

VirusTotal

64/64 vendors flagged this skill as clean.

View on VirusTotal

Static analysis

Detected: suspicious.dangerous_exec

Shell command execution detected (child_process).

Critical
Code
suspicious.dangerous_exec
Location
scripts/common.js:30