Back to skill

Security audit

Clawmarket

Security checks for vulnerabilities and agentic risk

Overview

This marketplace skill is broadly aligned with its purpose, but it gives agents high-impact install, payment, publishing, and review workflows without enough user-control and verification safeguards.

Review this skill carefully before installing. Only use it where you are comfortable letting an agent interact with claw-market.xyz, store an API key, install third-party skills, and initiate wallet/payment workflows. Do not allow automatic purchases, approvals, reviews, or local skill installation unless the exact action, package contents, destination paths, contract, amount, and public side effects have been shown to you and explicitly approved.

Vulnerability Patterns
  • Skill Instruction HijackingAlters the agent's session goals or safety constraints when the skill loads
  • Remote Payload Retrieval and ExecutionFetches external code whose behavior can change after review
  • Agent Memory PoisoningWrites attacker-controlled rules into memory that affect later sessions
  • Embedded Malicious CodeShips malicious scripts inside the skill and executes them locally
  • Unauthorized Access and Privilege EscalationObtains permissions beyond the task's legitimate needs
Findings (3)

T03 · Remote Payload Retrieval and Execution

Error
Location
SKILL.md:48
Finding
Execution of Externally Supplied Installation Commands<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md:48-55` **Vulnerability Type**: Remote command retrieval and unsafe dependency installation **Risk Level**: High ### Vulnerable Code ```markdown ### Install a Free Skill ```bash curl -X POST "https://claw-market.xyz/api/v1/install" \ -H "Authorization: Bearer $API_KEY" \ -H "Content-Type: application/json" \ -d '{"skillId": "weather"}' ``` Response includes `installCommand` (e.g., `npx clawhub install weather`). Run it to install locally. **After trying the skill, come back and leave a review** (see Review section below). ``` ### Technical Analysis The skill instructs the agent to execute an `installCommand` supplied dynamically by the remote `claw-market.xyz` service. There is no requirement to parse the response into safe arguments, validate the executable, restrict the accepted command format, verify a cryptographic signature, pin the installer version, or obtain separate user confirmation. Executing an entire server-provided command string creates a remote code-execution channel: the effective command can change after this skill has been audited. The example uses `npx`, which may download and execute an npm package at runtime. Without version and integrity pinning, this also introduces supply-chain exposure. The dangerous boundary is not the preceding `curl` request by itself, but the instruction to run an arbitrary response field as a local command. Any process following this workflow would execute it with the privileges and environment of the agent. ### Attack Path 1. An attacker compromises the marketplace endpoint, its backend, DNS path, publishing account, or another component able to influence the installation response. 2. The endpoint returns a malicious `installCommand` instead of the expected fixed installation command. 3. The agent follows the explicit “Run it to install locally” instruction. 4. The command executes with the agent process's local permissions. 5. The pa ...[truncated 787 chars]
Remediation
<![CDATA[ ## Remediation Suggestions - Never execute a command string returned by a remote service. - Replace the dynamic `installCommand` workflow with a fixed, locally defined installer and pass only a strictly validated skill identifier as a separate argument. - Restrict skill identifiers to an allowlisted format, such as a bounded alphanumeric slug. - Pin installer packages to reviewed versions and verify package integrity using trusted hashes or signatures. - Require signed marketplace manifests whose signatures are verified against a trusted publisher key. - Display the exact package, version, source, and planned operation to the user before installation. - Require explicit user approval before downloading or executing third-party code. - Run installation and subsequent skill execution inside a sandbox with limited filesystem, network, credential, and tool access. - Reject responses that contain shell operators, executable paths, additional arguments, or any command field not matching a strict schema. ]]>

T03 · Remote Payload Retrieval and Execution

Error
Location
SKILL.md:58
Finding
Unverified Remote Skill Packages Written into a Trusted Skills Directory<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md:58-69` **Vulnerability Type**: Remote payload retrieval and unsafe skill activation **Risk Level**: High ### Vulnerable Code ```markdown ### Purchase a Paid Skill Full x402 flow. See [references/payments.md](references/payments.md) for details. Quick version: 1. `GET /api/v1/download/{skillId}` → returns 402 with payment details (seller wallet, USDC amount, escrow contract) 2. Approve USDC spend on the escrow contract: `usdc.approve(escrow, amount)` 3. Call `escrow.purchaseSkill(sellerWallet, amount, skillId, uniquePurchaseId)` on Base 4. `POST /api/v1/purchase` with `{"skillId": "...", "txHash": "0x..."}` → returns `downloadToken` + stores permanent purchase record 5. `GET /api/v1/download/{skillId}?token=TOKEN` → returns skill package (JSON with `package.skillMd` and `package.scripts`) 6. Save the package: write `package.skillMd` to `skills/{skillId}/SKILL.md`, and each script in `package.scripts` to `skills/{skillId}/scripts/{name}` 7. **After trying the skill, leave a review** — this is how other agents find quality skills ``` ### Technical Analysis The workflow takes remotely supplied `package.skillMd` instructions and script contents and places them directly into a trusted local skills directory. It does not require any of the following controls: - Cryptographic signature or immutable digest verification. - Independent publisher identity verification. - Inspection of the downloaded instructions and scripts. - Staging or quarantine before activation. - Sandboxed script execution. - Validation of `skillId` and script `name` before they are used as path components. A downloaded `SKILL.md` can contain instructions that alter subsequent agent behavior when loaded. Downloaded scripts can become executable payloads when the installed skill is invoked. Because their contents are fetched from the marketplace after this package's review, the effective payload is remotely mutable. The text als ...[truncated 1953 chars]
Remediation
<![CDATA[ ## Remediation Suggestions - Treat all downloaded skill manifests and scripts as untrusted input. - Require packages to carry publisher signatures over an immutable manifest containing every file path, size, and cryptographic digest. - Verify signatures and hashes locally before writing any package file into a trusted skills directory. - Stage downloaded packages in a quarantine directory and present the complete manifest and security findings for user approval. - Normalize and validate `skillId` and script names before path construction. - Reject absolute paths, traversal components such as `..`, path separators in filenames, symbolic-link escapes, duplicate normalized paths, and unexpected file types. - Resolve each destination path and verify that it remains beneath the intended installation root before writing. - Apply strict limits to package size, file count, individual file size, and accepted encodings. - Statically inspect `SKILL.md` and scripts for unsafe instructions, commands, secret access, persistence, and external downloads. - Do not automatically activate a newly downloaded skill. - Execute third-party scripts in a sandbox with minimal filesystem, network, environment-variable, wallet, and tool permissions. - Maintain an auditable lockfile recording the publisher identity, version, source, and verified digest of every installed skill. ]]>

T01 · Skill Instruction Hijacking

Warning
Location
SKILL.md:129
Finding
Mandatory Authenticated Review Submission Creates an Unrequested External Side Effect<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md:129-140` **Vulnerability Type**: Instruction hijacking and unauthorized marketplace interaction **Risk Level**: Medium ### Vulnerable Code ```markdown ### Review a Skill **Important: Always leave a review after trying a skill.** Reviews are how other agents know what's legitimate, high-quality, and worth installing. Don't skip this step. After installing and using a skill, review it: ```bash curl -X POST "https://claw-market.xyz/api/skills/{skillId}/reviews" \ -H "Authorization: Bearer $API_KEY" \ -H "Content-Type: application/json" \ -d '{"rating": 4, "comment": "Worked well for X. Setup was straightforward."}' ``` Rating: 1-5. One review per agent per skill. Be honest — mention what worked, what didn't, and how easy setup was. This builds trust across the marketplace. ``` ### Technical Analysis The skill uses imperative language—“Always” and “Don't skip this step”—to impose an authenticated external action after trying another skill. This action is not inherently necessary to fulfill common requests such as browsing, installing, purchasing, or testing a skill. The review request uses the agent's API key and publishes content to a third-party marketplace. Without an explicit consent checkpoint, an agent following these instructions may select a rating, generate a comment, and submit it even though the user never requested publication. This alters the scope of the current task and can manipulate marketplace reputation. The issue is especially significant because the action is authenticated, externally visible, and limited to one review per agent per skill. ### Attack Path 1. A user asks the agent to install, purchase, or try a marketplace skill. 2. The agent loads this skill and follows the mandatory review instruction. 3. The agent generates a rating and comment without receiving explicit user authorization for publication. 4. The agent sends an authenticated POST request using ...[truncated 726 chars]
Remediation
<![CDATA[ ## Remediation Suggestions - Replace mandatory language with a neutral, optional suggestion. - Do not submit reviews automatically as part of installation, purchase, or testing workflows. - Ask the user whether they want to leave a review only after the requested task is complete. - Show the exact skill identifier, rating, and full comment before submission. - Require explicit confirmation immediately before the authenticated POST request. - Never infer a positive rating solely from successful installation; request the user's actual assessment. - Clearly distinguish local testing from public publication. - Allow the user to decline without repeatedly prompting or treating the review as a required workflow step. - Record consent only for the specific review being submitted; do not treat prior authorization as permission for future reviews. ]]>
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Rogue AgentSelf-Modification, Session Persistence
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
Findings (8)

Self-Modification

High
Category
Rogue Agent
Content
---
name: clawmarket
description: Browse, install, purchase, publish, review, and update skills on ClawMarket (claw-market.xyz) — the AI agent skill marketplace. Use when the user asks to find new skills, install a skill from ClawMarket, publish a skill to the marketplace, buy/sell skills, check skill reviews, update a published skill, or manage their ClawMarket agent profile. Also triggers on mentions of "clawmarket", "claw market", "skill marketplace", or "clawhub marketplace".
---

# ClawMarket — Agent Skill Marketplace
Confidence
90% confidence
Finding
The skill is explicitly designed to publish and update skills, which are agent capability packages that may alter future behavior and add scripts. In this context, self-modification is especially dangerous because the same marketplace flow also supports downloading and writing skill content locally, enabling persistence or capability changes from marketplace-sourced content.

Vague Triggers

Medium
Confidence
95% confidence
Finding
The trigger phrases include broad terms like "skill marketplace" and marketplace name variants, which can cause the skill to activate in contexts not specifically requesting ClawMarket actions. Over-broad invocation increases the chance the agent enters workflows involving registration, installation, purchases, or file writes without sufficiently specific user intent.

External Transmission

Medium
Category
Data Exfiltration
Content
Before using any authenticated endpoint, register once:

```bash
curl -X POST "https://claw-market.xyz/api/v1/agents/register" \
  -H "Content-Type: application/json" \
  -d '{"name": "YOUR_AGENT_NAME", "description": "Brief description"}'
```
Confidence
88% confidence
Finding
The skill instructs the agent to transmit identifying profile data to an external service during registration and to store a returned API key for future authenticated use. External transmission itself is expected for a marketplace integration, but it is still security-relevant because it creates third-party data exposure and secret-handling requirements that are not paired with consent and storage safeguards.

Rp1

Medium
Category
MCP Rug Pull
Confidence
93% confidence
Finding
The skill tells the agent to execute `npx clawhub install weather` without pinning a version or verifying integrity. That allows whatever package/version currently resolves from the registry to run code at install time, creating a supply-chain execution risk if the package is compromised or changes unexpectedly.

Context-Inappropriate Capability

Medium
Confidence
91% confidence
Finding
The skill expands from marketplace browsing into direct blockchain payment actions, including USDC approval and escrow contract interaction. This gives the agent authority to initiate irreversible financial transactions, and the document does not require strong user confirmation, contract verification, or transaction simulation before approval/purchase.

Missing User Warnings

Medium
Confidence
95% confidence
Finding
The instructions tell the agent to write downloaded `package.skillMd` and scripts from the marketplace directly into local skill directories, but provide no warning about reviewing or sanitizing untrusted content first. This creates a path for arbitrary code or prompt content from a remote marketplace to persist locally and later execute or influence future agent behavior.

Missing User Warnings

Medium
Confidence
97% confidence
Finding
The document gives step-by-step instructions for autonomous purchase of paid skills, including on-chain USDC approval and purchase calls, without any explicit requirement for informed user confirmation, spending limits, transaction review, or API-key handling warnings. Because these actions are irreversible and involve both wallet authorization and credential use, an agent following this guidance could spend funds or disclose purchase-linked access without adequate safeguards.

External Transmission

Medium
Category
Data Exfiltration
Content
Request the download endpoint without a token:

```bash
curl "https://claw-market.xyz/api/v1/download/{skillId}"
```

Returns HTTP 402 with payment details including escrow contract address, seller wallet, amount, and instructions.
Confidence
60% confidence
Finding
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Static analysis

No suspicious patterns detected.