Back to skill

Security audit

ClawdVine

Security checks for vulnerabilities and agentic risk

Overview

The skill is a real video-generation integration, but it also enables wallet signing, paid USDC payments, on-chain identity/token actions, and persistent agent identity storage with insufficient local safeguards.

Install only if you are comfortable giving the skill access to a wallet-capable environment and making paid USDC/on-chain actions. Use a dedicated low-balance wallet, confirm every payment and join/token action manually, do not store private keys or signed SIWE headers in prompts/logs, and avoid the bundled automatic payment script until it enforces local payment limits and receiver validation.

Vulnerability Patterns
  • Insecure DependenciesIntroduces malicious components through unsafe dependency sources
  • 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
Findings (3)

T09 · Insecure Skill Coding Practices

Error
Location
scripts/x402-generate.mjs:45
Finding

Automatic x402 payment signing lacks local amount and destination limits

Content
View full analysis
80 ? '...' : ''}"`); console.log(` Model: ${model}`); console.log(` Duration: ${duration}s`); if (agentId) console.log(` Agent: ${agentId}`); console.log(); const res = await fetchWithPayment(`${API_BASE}/generation/create`, { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ prompt, videoModel: model, duration, ...(agentId && { agentId }) }), }); ``` ### Technical Analysis The script gives the x402 client access to a signer derived from `EVM_PRIVATE_KEY` and then lets the wrapper automatically process a `402 Payment Required` response, create a payment authorization, and retry the request. The executable does not independently validate: - The maximum USDC amount the user approved. - The expected Base chain identifier. - The canonical Base USDC contract. - The intended payment receiver. - Whether the returned payment requirements match a previously displayed pre-flight quotation. - Whether the user explicitly approved that exact payment tuple. `SKILL.md:173-201` instructs the agent to display a pre-flight quotation ...[truncated 1647 chars]
Remediation
View remediation

T09 · Insecure Skill Coding Practices

Warning
Location
scripts/sign-siwe.mjs:28
Finding

SIWE authentication uses a non-cryptographic nonce and has no explicit expiration

Content
View full analysis
Remediation
View remediation

T08 · Insecure Dependencies

Warning
Location
scripts/x402-generate.mjs:45
Finding

Broad fallback loads an undeclared payment package with access to the wallet signer

Content
View full analysis
Remediation
View remediation
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
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
Findings (129)

Context-Inappropriate Capability

High
Category
Not specified by scanner
Confidence
98% confidence
Finding

The skill includes token launch and monetization features that go far beyond video generation and can trigger financial or on-chain consequences. In an agent setting, bundling these capabilities with a media skill creates unnecessary authority expansion and raises the risk of users unknowingly enabling asset-related actions.

Content

No source excerpt is available for this finding.

Self-Modification

High
Category
Rogue Agent
Confidence
85% confidence
Finding

Skill modifies its own code, configuration, or behavior at runtime. Self-modification enables an agent to escalate privileges, disable safety constraints, or install persistent backdoors.

Content

Scanner excerpt · clawdvine-skill-1.1.0/.github/workflows/build.yml (reported line 31)May include surrounding context.

yaml
git config user.name "github-actions[bot]"
          git config user.email "github-actions[bot]@users.noreply.github.com"
          git add dist/clawdvine-skill.tar.gz
          git diff --staged --quiet || git commit -m "Build: update skill tarball [skip ci]"
          git push

Known Vulnerable Dependency: ws==8.18.3 — 2 advisory(ies): CVE-2026-45736 (ws: Uninitialized memory disclosure); CVE-2026-48779 (ws: Memory exhaustion DoS from tiny fragments and data chunks)

High
Category
Supply Chain
Confidence
96% confidence
Finding

The lockfile pins ws 8.18.3, which the finding reports as affected by memory disclosure and memory-exhaustion denial-of-service issues. Even though this is only a dependency manifest, shipping a vulnerable pinned version means consumers who install this skill will resolve to that version, and websocket handling is especially relevant in blockchain/video tooling where remote peers or services may exchange untrusted data.

Content

No source excerpt is available for this finding.

Known Vulnerable Dependency: ws==8.17.1 — 2 advisory(ies): CVE-2026-45736 (ws: Uninitialized memory disclosure); CVE-2026-48779 (ws: Memory exhaustion DoS from tiny fragments and data chunks)

High
Category
Supply Chain
Confidence
96% confidence
Finding

The lockfile also includes ws 8.17.1 as another pinned vulnerable version, likely via a peer/transitive path such as ethers. Multiple vulnerable copies increase exposure because either dependency path may be invoked at runtime, enabling denial of service or potential memory disclosure if attacker-controlled websocket traffic reaches the process.

Content

No source excerpt is available for this finding.

Undeclared Tool Scope

Medium
Category
MCP Least Privilege
Confidence
95% confidence
Finding

The skill declares no explicit tool permissions despite clearly requiring environment access and extensive network access. This weakens least-privilege controls and increases the chance that an agent host will grant broader capabilities than users expect, especially given the skill's payment, identity, and profile-management workflows.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The manifest advertises a short-form video generation skill, but the body exposes materially broader capabilities including agent registration, identity recovery, profile updates, analytics, feedback, search, and MCP operations. This mismatch can mislead users and orchestrators about the real authority of the skill, causing consent and policy decisions to be made on incomplete information.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

The examples instruct use of a Moltbook API key in an Authorization header without any warning about secure credential handling. In agent environments, this can normalize passing third-party credentials into prompts, logs, shell history, or shared execution contexts where they may be exposed.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The documented join flow can mint ERC8004 on-chain identities, which is broader than the stated purpose of generating videos. This expands the skill from content generation into persistent blockchain identity operations, increasing the consequences of misuse or accidental invocation.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
90% confidence
Finding

The instructions tell agents to permanently store agentId and account-linked identity data in memory, config, or environment without discussing sensitivity, retention, or isolation. Persisting wallet-linked identifiers and service identities can enable cross-session tracking, accidental disclosure, and misuse by other skills or users sharing the same runtime.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The README promotes paid video generation, USDC payments, and onchain identity minting, but it does not clearly warn users that actions may incur real financial costs and blockchain transactions. In the context of an agent skill, this is risky because an autonomous or semi-autonomous agent could proceed from the README and linked instructions into spending funds or initiating irreversible onchain actions without explicit user consent or cost disclosure.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The manifest materially understates the skill’s capabilities by describing only short-form video generation while the body also enables agent registration, wallet-based authentication, persistent identity storage, profile updates, monetization, and token launch. This scope mismatch can cause hosts or users to approve or invoke the skill under false assumptions, increasing the chance of unintended identity, wallet, or payment operations.

Content

No source excerpt is available for this finding.

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

bash
# Step 1: Start verification
curl -X POST https://api.clawdvine.sh/join/moltbook/init \
  -H "Content-Type: application/json" \
  -d '{"moltbookUsername": "YourMoltbookUsername"}'
# → Returns: publicIdentifier, secret, verificationPostContent

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 · clawdvine-skill-1.1.0/SKILL.md (reported line 39)May include surrounding context.

bash
# Step 1: Start verification
curl -X POST https://api.clawdvine.sh/join/moltbook/init \
  -H "Content-Type: application/json" \
  -d '{"moltbookUsername": "YourMoltbookUsername"}'
# → Returns: publicIdentifier, secret, verificationPostContent

Context-Inappropriate Capability

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

Token-launch functionality is far beyond the stated purpose of video generation and introduces a high-risk financial/on-chain action that could deploy assets and incur irreversible consequences. Bundling this into a media-generation skill expands the attack surface and makes it easier for an agent or user to trigger sensitive blockchain operations without expecting them in this context.

Content

No source excerpt is available for this finding.

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

Step 1: Send your request without payment:

bash
curl -X POST https://api.clawdvine.sh/generation/create \
  -H "Content-Type: application/json" \
  -d '{"prompt": "A cinematic drone shot of a futuristic cityscape at sunset", "videoModel": "xai-grok-imagine", "duration": 8, "aspectRatio": "9:16"}'

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 · clawdvine-skill-1.1.0/SKILL.md (reported line 302)May include surrounding context.

Step 1: Send your request without payment:

bash
curl -X POST https://api.clawdvine.sh/generation/create \
  -H "Content-Type: application/json" \
  -d '{"prompt": "A cinematic drone shot of a futuristic cityscape at sunset", "videoModel": "xai-grok-imagine", "duration": 8, "aspectRatio": "9:16"}'

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

Start Moltbook identity verification. Returns a secret that you must post to Moltbook to prove account ownership.

bash
curl -X POST https://api.clawdvine.sh/join/moltbook/init \
  -H "Content-Type: application/json" \
  -d '{"moltbookUsername": "YourUsername"}'

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 · clawdvine-skill-1.1.0/SKILL.md (reported line 537)May include surrounding context.

Start Moltbook identity verification. Returns a secret that you must post to Moltbook to prove account ownership.

bash
curl -X POST https://api.clawdvine.sh/join/moltbook/init \
  -H "Content-Type: application/json" \
  -d '{"moltbookUsername": "YourUsername"}'

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

Complete verification and create your agent. The server fetches the Moltbook post, verifies the author matches your claimed username, and checks the content contains the secret.

bash
curl -X POST https://api.clawdvine.sh/join/moltbook/complete \
  -H "Content-Type: application/json" \
  -d '{
    "publicIdentifier": "<from /init>",

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 · clawdvine-skill-1.1.0/SKILL.md (reported line 560)May include surrounding context.

Complete verification and create your agent. The server fetches the Moltbook post, verifies the author matches your claimed username, and checks the content contains the secret.

bash
curl -X POST https://api.clawdvine.sh/join/moltbook/complete \
  -H "Content-Type: application/json" \
  -d '{
    "publicIdentifier": "<from /init>",

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

Requires the same auth headers and request body as /join.

bash
curl -X POST https://api.clawdvine.sh/join/preflight \
  -H "Content-Type: application/json" \
  -H "X-EVM-SIGNATURE: 0x..." \
  -H "X-EVM-MESSAGE: <base64-encoded SIWE message>" \

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 · clawdvine-skill-1.1.0/SKILL.md (reported line 623)May include surrounding context.

Requires the same auth headers and request body as /join.

bash
curl -X POST https://api.clawdvine.sh/join/preflight \
  -H "Content-Type: application/json" \
  -H "X-EVM-SIGNATURE: 0x..." \
  -H "X-EVM-MESSAGE: <base64-encoded SIWE message>" \

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The skill repeatedly instructs agents to persist agentId, wallet-derived creator identifiers, and related account context to memory, config, or environment variables without warning about privacy, retention, or cross-session leakage. Persisting these identifiers can enable long-term tracking, accidental reuse across users, and unintended disclosure to other tools or logs.

Content

No source excerpt is available for this finding.

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

Agent tool discovery

bash
curl https://api.clawdvine.sh/mcp/YOUR_AGENT_ID/tools

Response includes your agent identity:

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 · clawdvine-skill-1.1.0/SKILL.md (reported line 1460)May include surrounding context.

Agent tool discovery

bash
curl https://api.clawdvine.sh/mcp/YOUR_AGENT_ID/tools

Response includes your agent identity:

Static analysis

Detected: suspicious.dangerous_exec, suspicious.env_credential_access, suspicious.prompt_injection_instructions

Shell command execution detected (child_process).

Critical
Code
suspicious.dangerous_exec
Location
clawdvine-skill-1.1.0/scripts/build-tar.mjs:54

Shell command execution detected (child_process).

Critical
Code
suspicious.dangerous_exec
Location
scripts/build-tar.mjs:54

Environment variable access combined with network send.

Critical
Code
suspicious.env_credential_access
Location
clawdvine-skill-1.1.0/scripts/check-balance.mjs:22

Environment variable access combined with network send.

Critical
Code
suspicious.env_credential_access
Location
clawdvine-skill-1.1.0/scripts/x402-generate.mjs:29

Environment variable access combined with network send.

Critical
Code
suspicious.env_credential_access
Location
scripts/check-balance.mjs:22

Environment variable access combined with network send.

Critical
Code
suspicious.env_credential_access
Location
scripts/x402-generate.mjs:29

Prompt-injection style instruction pattern detected.

Warn
Code
suspicious.prompt_injection_instructions
Location
clawdvine-skill-1.1.0/SKILL.md:1564

Prompt-injection style instruction pattern detected.

Warn
Code
suspicious.prompt_injection_instructions
Location
SKILL.md:1564