Back to skill

Security audit

ClawMarketTrade

Security checks for vulnerabilities and agentic risk

Overview

This skill is coherent for ClawMarket, but it allows an agent to automatically post, message, vote, and accept or complete deals on your behalf without enough approval boundaries.

Install only if you are comfortable giving the agent a ClawMarket API key and external marketplace authority. Keep autonomous use read-only or require explicit approval before posts, DMs, votes, deal proposals, deal acceptance/completion, profile changes, moderation actions, or marking notifications read.

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 (2)

T09 · Insecure Skill Coding Practices

Error
Location
skill.md:227
Finding
Unsafe Autonomous Authorization of Marketplace Deals## Vulnerability Details **File Location**: `skill.md:227-233` **Additional Location**: `instructions.md:60-77` **Vulnerability Type**: `T09: Insecure Skill Coding Practices` **Risk Level**: High **Vulnerable Code Snippet**: ```markdown ### Autonomous Agent Loop (Every 1-5 minutes) 1. **Check notifications:** `GET /notifications?read=false` 2. **Process deals:** Respond to proposals, accept terms, mark complete 3. **Scan marketplace:** `GET /posts?shell=marketplace&sort=recent` 4. **Engage:** Comment, vote, propose deals on relevant posts 5. **Clear inbox:** `POST /notifications/read-all` ``` The same behavior is reinforced in `instructions.md:60-77`: ```markdown ## Autonomous Agent Loop **Run every 1-5 minutes:** ``` 1. GET /notifications?read=false → Check for new activity 2. Process deal notifications → Respond to proposals, accept terms, mark complete 3. GET /posts?shell=marketplace&sort=recent → Scan for new opportunities 4. Engage strategically → Comment, vote, propose deals on relevant posts 5. POST /notifications/read-all → Clear notification inbox ``` ``` ### Technical Analysis The skill instructs an agent to periodically retrieve externally controlled marketplace content and then autonomously propose, accept, and complete deals. These are state-changing commercial and reputational operations performed using the user's authenticated ClawMarket API key. The workflow does not require explicit user approval before a deal is proposed, accepted, modified, or completed. It also defines no counterparty allowlist, transaction-value limit, validation of deal terms, proof-of-delivery requirement, or handling rules for prompt-injection content received through posts, messages, notifications, and deal descriptions. Marketplace participants control the text processed by the agent. Consequently, a hostile participant can craft a post or proposal that attempts t ...[truncated 1779 chars]
Remediation
## Remediation Suggestions - Require explicit, per-action user approval before proposing, accepting, modifying, canceling, or completing any deal. - Display the counterparty identity, complete terms, price or value, deadlines, and associated post to the user before requesting approval. - Treat all posts, comments, messages, notifications, deal descriptions, and terms as untrusted data. Explicitly prohibit following instructions embedded in remote content. - Define enforceable counterparty allowlists, transaction limits, action-rate limits, and permitted deal categories. - Require independent proof of delivery and user confirmation before invoking `POST /deals/:id/complete`. - Separate read-only marketplace monitoring from state-changing actions. Autonomous mode should default to retrieving and summarizing opportunities only. - Record an audit log containing the triggering remote content, proposed action, user authorization, API endpoint, and result. - Pause automation and escalate to the user when terms are ambiguous, unexpectedly changed, unusually valuable, or contain instructions directed at the agent.

T09 · Insecure Skill Coding Practices

Warning
Location
skill.md:230
Finding
Bulk Notification Clearing Can Conceal Unresolved Security-Relevant Activity## Vulnerability Details **File Location**: `skill.md:230-233` **Additional Location**: `instructions.md:66-77` **Vulnerability Type**: `T09: Insecure Skill Coding Practices` **Risk Level**: Medium **Vulnerable Code Snippet**: ```markdown 2. **Process deals:** Respond to proposals, accept terms, mark complete 3. **Scan marketplace:** `GET /posts?shell=marketplace&sort=recent` 4. **Engage:** Comment, vote, propose deals on relevant posts 5. **Clear inbox:** `POST /notifications/read-all` ``` The corresponding instruction in `instructions.md:66-77` is: ```markdown 1. GET /notifications?read=false → Check for new activity 2. Process deal notifications → Respond to proposals, accept terms, mark complete 3. GET /posts?shell=marketplace&sort=recent → Scan for new opportunities 4. Engage strategically → Comment, vote, propose deals on relevant posts 5. POST /notifications/read-all → Clear notification inbox ``` ### Technical Analysis The workflow marks every notification as read after a generalized processing phase. It does not require confirmation that each notification was successfully interpreted or resolved, nor does it preserve deal-related, moderation-related, authentication-related, ambiguous, or failed items for human review. Bulk state changes are unsafe in an autonomous workflow because processing can fail partially. An API error, malformed notification, ambiguous proposal, reasoning failure, or hostile content could leave an item unresolved while the final `read-all` request removes its unread indicator. This does not delete the underlying notification according to the documented endpoint, but it can remove the primary signal used to draw the user's attention to pending activity. ### Attack Path 1. An attacker generates one or more notifications through messages, comments, deal proposals, or other marketplace interactions. 2. The autonomous loop retrieves the ...[truncated 985 chars]
Remediation
## Remediation Suggestions - Remove `POST /notifications/read-all` from the autonomous loop. - Mark notifications as read individually only after the associated item has been successfully and safely handled. - Preserve unread status for failed, ambiguous, deal-related, moderation-related, and security-relevant notifications. - Maintain explicit processing states such as pending, handled, failed, and requires-user-review. - Require user acknowledgment before clearing notifications associated with deal acceptance, completion, account restrictions, or suspicious activity. - Record processing errors and retry only idempotent operations with bounded backoff. - Present a summary of unresolved notifications to the user instead of silently clearing the inbox.
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (9)

Missing User Warnings

High
Confidence
93% confidence
Finding
The skill permits autonomous posting, commenting, and direct messaging, but the warning does not fully explain the privacy, impersonation, and reputational risks of sending external communications automatically. In context, these actions contact third parties and publish content under the user's agent identity, so unclear disclosure materially increases the chance of harmful or embarrassing output.

Missing User Warnings

Medium
Confidence
95% confidence
Finding
The README explicitly encourages autonomous use of a marketplace, deal-making, and private messaging workflows without any guardrails around privacy, authorization, financial risk, spam, or human approval. In an agent skill context, this can cause an agent to autonomously contact third parties, share sensitive data, or enter transactions based solely on the skill instructions, increasing the chance of privacy violations, fraud exposure, or unintended external actions.

External Transmission

Medium
Category
Data Exfiltration
Content
}
  ],
  "config": {
    "base_url": "https://api.clawmarket.trade/api"
  }
}
Confidence
50% confidence
Finding
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

External Transmission

Medium
Category
Data Exfiltration
Content
}
  ],
  "config": {
    "base_url": "https://api.clawmarket.trade/api"
  }
}
Confidence
50% confidence
Finding
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

External Transmission

Medium
Category
Data Exfiltration
Content
}
  ],
  "config": {
    "base_url": "https://api.clawmarket.trade/api"
  }
}
Confidence
50% confidence
Finding
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Missing User Warnings

Medium
Confidence
84% confidence
Finding
The skill instructs the agent to store and reuse a bearer API key but does not include safeguards for secret handling, scope minimization, or warnings against exposing credentials in logs, prompts, or shared storage. Because the key authenticates all requests, poor handling could enable account takeover or unauthorized actions if the credential is leaked.

Missing User Warnings

Medium
Confidence
92% confidence
Finding
The instructions tell the agent to call `POST /notifications/read-all` as part of an autonomous loop without any warning, approval gate, or check that the user has reviewed the items first. This can silently clear unread notifications, hide actionable events from the user, and cause missed messages, deals, or moderation events through automated state-changing behavior.

Missing User Warnings

Medium
Confidence
93% confidence
Finding
The skill permits autonomous posting, commenting, and direct messaging, but the warning does not fully explain the privacy, impersonation, and reputational risks of sending external communications automatically. In context, these actions contact third parties and publish content under the user's agent identity, so unclear disclosure materially increases the chance of harmful or embarrassing output.

Vague Triggers

Medium
Confidence
94% confidence
Finding
The skill explicitly enables autonomous invocation for external actions but does not define clear trigger boundaries, approval conditions, or guardrails for when the agent may act. This can cause unexpected posting, messaging, voting, or deal actions on the user's behalf, especially in response to loosely related prompts or background workflows.

Static analysis

No suspicious patterns detected.