Back to skill

Security audit

Clawhub Soul

Security checks for vulnerabilities and agentic risk

Overview

The skill is mostly coherent for a paid agent marketplace, but it under-discloses credential and payment risks that users should review before installing.

Review this skill carefully before installing. Use it only with least-privilege keys and wallets, avoid putting raw API keys, bearer tokens, private keys, seed phrases, or long-lived credentials in soul.md, and require explicit human confirmation before any USDC payment, payout, wallet-linking, or private-key-backed operation.

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

Warning
Location
SKILL.md:66
Finding

Sensitive Credentials Encouraged in Externally Uploaded Identity Data

Content
View full analysis

Vulnerability Details

File Location: SKILL.md:66, 93-99, 139-144, 327-333
Vulnerability Type: Sensitive credential exposure through externally stored identity content
Risk Level: Medium

Vulnerable Code Snippets

markdown
- **Access** — API keys that unlock capabilities
bash
curl -X POST https://api.soul.mds.markets/v1/soul/register \
  -H "Content-Type: application/json" \
  -d '{
    "name": "ResearchBot",
    "slug": "researchbot",
    "soul_md": "# ResearchBot\n\nI am a research analyst with expertise in...",
    "soul_price": 25.00
  }'
bash
curl -X PUT https://api.soul.mds.markets/v1/soul/me/soul \
  -H "Authorization: Bearer soul_xxx..." \
  -H "Content-Type: application/json" \
  -d '{
    "soul_md": "# ResearchBot v2\n\nUpdated capabilities...",
    "change_note": "Added financial analysis expertise"
  }'
markdown
1. Help them craft a compelling `soul.md`:
   - Define their expertise and judgment
   - Specify their approach and quality standards
   - Include relevant API keys/access (encrypted, never exposed)

Technical Analysis

The skill defines API-key-backed access as part of the soul.md identity and later instructs agents to include relevant API keys or access information in that document. Registration and update examples transmit the complete soul_md field to the external api.soul.mds.markets service.

Although the text says credentials should be “encrypted, never exposed,” it specifies no encryption scheme, trusted key recipient, key-management process, secret-reference mechanism, visibility control, or pre-upload secret scanning. Encryption without an independently protected key and a defined trust model does not ensure confidentiality. An agent following these instructions could therefore embed raw, reversibly encoded, or otherwise recoverable credentials in remotely stored marketplace content.

Attack Path

...[truncated 1248 chars]

Remediation
View remediation

Remediation Suggestions

  1. Explicitly prohibit raw API keys, wallet private keys, bearer tokens, seed phrases, and other reusable credentials in soul.md.
  2. Replace embedded credentials with opaque identifiers that reference secrets held in a dedicated secret manager.
  3. Retrieve secrets only at execution time and restrict access to the specific service requiring them.
  4. Apply least-privilege scopes, short expiration periods, usage limits, and service-specific credentials.
  5. Add mandatory secret detection and redaction before every registration or identity-update request.
  6. Document whether soul.md is public, private, logged, replicated, or available to marketplace operators.
  7. If encrypted capability data is required, define authenticated encryption, recipient key validation, key rotation, revocation, and a threat model ensuring that decryption keys are never uploaded with ciphertext.
  8. Provide credential rotation and incident-response guidance for accidentally uploaded secrets.
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 (16)

Missing User Warnings

High
Category
Not specified by scanner
Confidence
99% confidence
Finding

The skill tells users to include relevant API keys/access in soul.md and only says they are encrypted and never exposed, without a strong warning that uploading secrets to a third-party marketplace is highly sensitive and may leak through platform compromise, misconfiguration, downstream service execution, or prompt/output exposure. Encouraging secret placement in a broadly reusable identity document materially increases the risk of credential disclosure and account compromise.

Content

No source excerpt is available for this finding.

External Transmission

Medium
Category
Data Exfiltration
Confidence
50% 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 51)May include surrounding context.

API Base URL

text
https://api.soul.mds.markets/v1/soul

External Transmission

Medium
Category
Data Exfiltration
Confidence
50% 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 93)May include surrounding context.

API Base URL

text
https://api.soul.mds.markets/v1/soul

External Transmission

Medium
Category
Data Exfiltration
Confidence
50% 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 117)May include surrounding context.

API Base URL

text
https://api.soul.mds.markets/v1/soul

External Transmission

Medium
Category
Data Exfiltration
Confidence
50% 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 139)May include surrounding context.

API Base URL

text
https://api.soul.mds.markets/v1/soul

External Transmission

Medium
Category
Data Exfiltration
Confidence
50% 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 151)May include surrounding context.

API Base URL

text
https://api.soul.mds.markets/v1/soul

External Transmission

Medium
Category
Data Exfiltration
Confidence
50% 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 171)May include surrounding context.

API Base URL

text
https://api.soul.mds.markets/v1/soul

External Transmission

Medium
Category
Data Exfiltration
Confidence
50% 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 177)May include surrounding context.

API Base URL

text
https://api.soul.mds.markets/v1/soul

External Transmission

Medium
Category
Data Exfiltration
Confidence
50% 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 191)May include surrounding context.

API Base URL

text
https://api.soul.mds.markets/v1/soul

External Transmission

Medium
Category
Data Exfiltration
Confidence
50% 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 197)May include surrounding context.

API Base URL

text
https://api.soul.mds.markets/v1/soul

External Transmission

Medium
Category
Data Exfiltration
Confidence
50% 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 205)May include surrounding context.

API Base URL

text
https://api.soul.mds.markets/v1/soul

External Transmission

Medium
Category
Data Exfiltration
Confidence
50% 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 227)May include surrounding context.

API Base URL

text
https://api.soul.mds.markets/v1/soul

External Transmission

Medium
Category
Data Exfiltration
Confidence
50% 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 246)May include surrounding context.

API Base URL

text
https://api.soul.mds.markets/v1/soul

External Transmission

Medium
Category
Data Exfiltration
Confidence
50% 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 265)May include surrounding context.

API Base URL

text
https://api.soul.mds.markets/v1/soul

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 93)May include surrounding context.

Register as a Seller

bash
curl -X POST https://api.soul.mds.markets/v1/soul/register \
  -H "Content-Type: application/json" \
  -d '{
    "name": "ResearchBot",

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
97% confidence
Finding

The buyer workflow describes how to execute a paid service and complete the x402 payment flow, but it does not provide a prominent warning that retrying with the payment header authorizes a real USDC transfer. In an agent skill context, this omission is dangerous because an operator may treat the flow as a harmless API call and unintentionally trigger irreversible blockchain payments.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.