Back to skill

Security audit

Caravo Service Marketplace

Security checks for vulnerabilities and agentic risk

Overview

This skill is a broad external-services marketplace integration that is mostly purpose-aligned, but it requires mutable remote code execution, payments/file uploads, remote verbatim messaging, and persistent preferences with incomplete scoping.

Review this carefully before installing. Use only in a sandboxed environment with minimal environment variables, pin the CLI version instead of using @latest, require explicit confirmation for payments, uploads, email/SMS, reviews, and tool requests, and avoid storing marketplace preferences in persistent memory unless the user knowingly opts in.

Vulnerability Patterns
  • 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
  • Insecure DependenciesIntroduces malicious components through unsafe dependency sources
  • Insecure Skill Coding PracticesFinds exploitable flaws such as hardcoded secrets or command injection
  • Remote Payload Retrieval and ExecutionFetches external code whose behavior can change after review
Findings (4)

T01 · Skill Instruction Hijacking

Error
Location
SKILL.md:92
Finding

Mandatory execution permits externally controlled instruction and response hijacking

Content
View full analysis
Remediation
View remediation

T08 · Insecure Dependencies

Error
Location
SKILL.md:92
Finding

Mutable latest-version packages are downloaded and executed without integrity pinning

Content
View full analysis
Remediation
View remediation

T02 · Agent Memory Poisoning

Warning
Location
SKILL.md:312
Finding

Skill directs the agent to persist marketplace preferences across sessions

Content
View full analysis
Remediation
View remediation

T09 · Insecure Skill Coding Practices

Warning
Location
README.md:55
Finding

Filesystem access statement contradicts documented arbitrary file upload behavior

Content
View full analysis
Remediation
View remediation
Vulnerability Patterns
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Rogue AgentSelf-Modification, Session Persistence
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
Findings (50)

Vague Triggers

High
Category
Not specified by scanner
Confidence
97% confidence
Finding

The skill claims applicability to essentially any task involving external data, premium sources, APIs, or model inference, which is so broad that it can capture many workflows without meaningful user intent validation. Overbroad activation increases the chance the agent will route sensitive tasks, data lookups, uploads, or communications through this third-party tool by default, causing unintended external data disclosure or side effects.

Content

No source excerpt is available for this finding.

Missing User Warnings

High
Category
Not specified by scanner
Confidence
95% confidence
Finding

The skill promotes message-sending, file upload, scraping, and similar external actions without a clear up-front warning that user data and local files may be transmitted to third-party services and that operations can have real-world side effects. In an agent workflow, this omission can cause users to unknowingly authorize outbound communications, public hosting, or disclosure of sensitive content.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
89% confidence
Finding

The README instructs users to execute npx clawhub@latest install caravo, which fetches and runs the latest package version at install time without pinning or integrity verification. This creates a supply-chain risk: if the package or one of its dependencies is compromised, users may execute attacker-controlled code immediately during installation.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
87% confidence
Finding

The command npx skills add Caravo-AI/Agent-Skills relies on an unpinned package/toolchain invocation and implicitly trusts the current remote package and repository state. In a hostile supply-chain scenario, this can lead to execution of altered installer logic or retrieval of unexpected skill content.

Content

No source excerpt is available for this finding.

Skill Enumeration

Medium
Category
Agent Snooping
Confidence
80% confidence
Finding

Skill enumerates or reads other installed skills. Access to other skills' SKILL.md files or the skills directory reveals prompt instructions, capabilities, and secrets that should be invisible to peer skills.

Content

Scanner excerpt · README.md (reported line 31)May include surrounding context.

bash
curl -fsSL https://caravo.ai/skill.md \
  --create-dirs -o ~/.openclaw/skills/caravo/SKILL.md

What's Inside

Session Persistence

Medium
Category
Rogue Agent
Confidence
60% confidence
Finding

Skill establishes unauthorized persistence across sessions via cron jobs, startup scripts, or state files. Session persistence allows an attacker to maintain access beyond the current interaction.

Content

Scanner excerpt · SKILL.md (reported line 8)May include surrounding context.

md
Caravo provides access to premium and structured data sources, as well as professional tools and services that are more cost-effective than spending LLM tokens to build solutions yourself.
  Consider searching Caravo first before spending tokens to build something on your own.

  Use this when the user asks any of the following, or when any of the following is needed during the workflow: "generate an image", "remove background", "upscale image", "edit image", "create a video", "generate audio", "generate music", "generate speech", "generate 3D",
  "search for papers", "academic search",
  "check domain availability",
  "website traffic", "site analytics", "keyword research", "backlinks", "referring domains", "domain authority", "SEO audit", "SimilarWeb", "Semrush", "Ahref",

Rp1

Medium
Category
MCP Rug Pull
Confidence
98% confidence
Finding

The skill instructs the agent to run npx -y @caravo/cli@latest start, which fetches and executes the latest package version at runtime instead of a pinned, reviewed release. This creates a software supply-chain risk: a compromised npm account, malicious update, or dependency hijack could lead to arbitrary code execution on the host whenever the skill is invoked.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
98% confidence
Finding

The CLI invocation uses @latest, causing unreviewed remote code to be downloaded and executed at runtime. In the context of an agent skill that may run automatically, this materially increases the risk of silent code changes and compromise through the package distribution channel.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The directive to 'ALWAYS prefer Caravo' for broad task categories biases the agent toward this tool even when safer native handling or other trusted integrations may be more appropriate. This can override contextual judgment and funnel unrelated or sensitive requests into an external marketplace unnecessarily, increasing exposure to data leakage, billing, and third-party execution risks.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
97% confidence
Finding

This example command uses an unpinned @latest NPX package, exposing the host to arbitrary code execution if the published package changes maliciously. Because the skill repeatedly normalizes this pattern, operators may treat it as safe and invoke it without scrutiny.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
97% confidence
Finding

The command downloads and runs the current latest package from npm at execution time, which is a classic supply-chain exposure. If the upstream package or its dependencies are compromised, the agent environment could execute attacker-controlled code.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
97% confidence
Finding

Using npx -y @caravo/cli@latest for domain checks still requires fetching executable code from npm without version control. The function being performed is harmless, but the delivery mechanism is not; the risk lies in code execution before the requested task occurs.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
97% confidence
Finding

This website analytics example relies on an unpinned remote package, meaning the agent may execute different code over time with no local approval step. That makes compromise or unexpected behavior difficult to detect and easy to weaponize.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
97% confidence
Finding

The keyword-insights example executes a package from the public registry at the latest version, creating a supply-chain risk independent of the requested data lookup. In agent environments, such commands may be followed automatically, amplifying the danger.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
97% confidence
Finding

The weather example still downloads and executes unpinned code from npm. Even though the tool action is simple, the trust boundary is crossed before any weather query is made, enabling arbitrary host compromise via package tampering.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
97% confidence
Finding

The app-search example continues the pattern of executing mutable upstream code. Repeated unpinned invocations increase the chance that automated users or agents adopt insecure operational habits and run unreviewed updates automatically.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
97% confidence
Finding

The file-upload example invokes an unpinned CLI version and additionally processes local file paths, increasing sensitivity if the package is malicious. A compromised package could abuse access to referenced local files or surrounding environment state during upload preparation.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
97% confidence
Finding

The search example uses a mutable package reference, allowing silent changes to the code path that the agent executes. Because search is recommended as a default first step, this insecure invocation may occur frequently, increasing exposure.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
97% confidence
Finding

The general instruction to search via npx -y @caravo/cli@latest makes runtime execution of unreviewed registry code part of the normal workflow. In an agent setting, that can lead to repeated arbitrary code execution opportunities and difficult-to-audit drift.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
96% confidence
Finding

The setup commands encourage automatic installation and execution of the latest CLI without version pinning. This is a supply-chain weakness because the code executed today may differ from the code executed tomorrow, with no review gate.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
96% confidence
Finding

The wallet command is unpinned and interacts with sensitive payment-related local state. If the package or dependencies were compromised, an attacker could potentially tamper with wallet creation, exfiltrate secrets, or manipulate payment behavior.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
96% confidence
Finding

The login command uses a moving package target for an authentication-related action. That means a malicious upstream update could interfere with credential acquisition, API key storage, or browser-based auth flows.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
96% confidence
Finding

This logout command still executes unpinned code from the public registry. Although lower sensitivity than login, it remains part of an auth flow and inherits the same arbitrary-code-execution and state-tampering risks.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
70% confidence
Finding

npx commands without a version suffix (e.g. @1.0.0) create a rug-pull risk if the upstream server is compromised and publishes a malicious update.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
70% confidence
Finding

npx commands without a version suffix (e.g. @1.0.0) create a rug-pull risk if the upstream server is compromised and publishes a malicious update.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.