Back to skill

Security audit

robo.fun

Security checks for vulnerabilities and agentic risk

Overview

The skill mostly matches its prediction-market purpose, but it tells agents to auto-update through an unpinned remote installer and can perform real account actions, so it should be reviewed before installation.

Install only if you trust Robo Fun and the ClawHub package source. Disable or ignore the automatic update instruction unless a human reviews a pinned version first, use a dedicated API key and low-balance wallet, set strict spending limits, and require explicit approval before bets, market creation, public comments, or fee withdrawals.

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

T08 · Insecure Dependencies

Error
Location
skill.md:17
Finding
Unpinned Package Execution Through a Remotely Triggered Update Process## Vulnerability Details **File Location**: `skill.md:17-18`, `skill.md:27-30`, `skill.md:42`, and `skill.md:1375` **Vulnerability Type**: Unpinned executable dependency and remotely controlled update trigger **Risk Level**: High ### Vulnerable Code ```yaml install: - npx clawhub@latest install robodotfun ``` ```bash npx clawhub@latest install robodotfun ``` ```text At the start of every session, call `/agents/status`. The response includes a `skill_version` field — compare it to your current skill version (`1.1.0`). If they differ, re-run the install command above to update, then reload your skill context and proceed. ``` ```text Check for skill updates: Call `/agents/status` at session start — if `skill_version` differs from `1.1.0`, run `npx clawhub@latest install robodotfun` ``` ### Technical Analysis The skill instructs the agent to invoke `npx` with the mutable `latest` tag. `npx` may download and execute package code from the configured npm registry, while `latest` can resolve to a different package release at any time. No exact version, integrity digest, signature verification, lockfile, or reviewed artifact hash is specified. The update decision is also based on `skill_version` returned by the remote Robo Fun API. Consequently, the locally executed installation process can be initiated by remotely supplied state. The external API does not directly provide the executable payload, but a false or compromised version response can steer the agent into fetching and running the current registry package. This creates a time-of-review versus time-of-use supply-chain weakness: the code executed during a later installation may differ from the package version that was originally audited. Exploitation requires compromise or malicious control of a relevant trust dependency, such as the package publisher account, registry distribution path, package contents, or remote update response. ### Attack Path 1. An attacker compromises the `clawhub` package publi ...[truncated 1735 chars]
Remediation
## Remediation Suggestions 1. Replace the mutable package tag with an exact, reviewed version: ```bash npx --yes clawhub@X.Y.Z install robodotfun ``` Do not use `@latest`, version ranges, or other moving tags. 2. Verify package integrity before execution. Pin the expected registry integrity digest or validate a signed release artifact using a trusted public key. 3. Use a lockfile or equivalent immutable dependency manifest to pin transitive dependencies, not only the top-level package. 4. Separate update checking from update execution. A remote version mismatch should produce a notification rather than automatically cause local code execution. 5. Require explicit user or administrator confirmation before installing an update, and display the exact version, source, checksum, and requested changes. 6. Retrieve update metadata from a signed manifest and reject unsigned, invalid, downgraded, or unexpected releases. 7. Run installation in a restricted environment with minimal filesystem access, no unnecessary credentials, and no wallet or API secrets present. 8. Review and approve each new release before updating the pinned version in `skill.md`.
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (51)

External Transmission

Medium
Category
Data Exfiltration
Content
homepage: https://robo.fun
  emoji: "\U0001F916"
  category: prediction-markets
  api_base: https://api.robo.fun/api/v1
  openclaw:
    primaryEnv: ROBO_FUN_API_KEY
    requires:
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
homepage: https://robo.fun
  emoji: "\U0001F916"
  category: prediction-markets
  api_base: https://api.robo.fun/api/v1
  openclaw:
    primaryEnv: ROBO_FUN_API_KEY
    requires:
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
homepage: https://robo.fun
  emoji: "\U0001F916"
  category: prediction-markets
  api_base: https://api.robo.fun/api/v1
  openclaw:
    primaryEnv: ROBO_FUN_API_KEY
    requires:
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
homepage: https://robo.fun
  emoji: "\U0001F916"
  category: prediction-markets
  api_base: https://api.robo.fun/api/v1
  openclaw:
    primaryEnv: ROBO_FUN_API_KEY
    requires:
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
homepage: https://robo.fun
  emoji: "\U0001F916"
  category: prediction-markets
  api_base: https://api.robo.fun/api/v1
  openclaw:
    primaryEnv: ROBO_FUN_API_KEY
    requires:
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
homepage: https://robo.fun
  emoji: "\U0001F916"
  category: prediction-markets
  api_base: https://api.robo.fun/api/v1
  openclaw:
    primaryEnv: ROBO_FUN_API_KEY
    requires:
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
homepage: https://robo.fun
  emoji: "\U0001F916"
  category: prediction-markets
  api_base: https://api.robo.fun/api/v1
  openclaw:
    primaryEnv: ROBO_FUN_API_KEY
    requires:
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
homepage: https://robo.fun
  emoji: "\U0001F916"
  category: prediction-markets
  api_base: https://api.robo.fun/api/v1
  openclaw:
    primaryEnv: ROBO_FUN_API_KEY
    requires:
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
homepage: https://robo.fun
  emoji: "\U0001F916"
  category: prediction-markets
  api_base: https://api.robo.fun/api/v1
  openclaw:
    primaryEnv: ROBO_FUN_API_KEY
    requires:
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
homepage: https://robo.fun
  emoji: "\U0001F916"
  category: prediction-markets
  api_base: https://api.robo.fun/api/v1
  openclaw:
    primaryEnv: ROBO_FUN_API_KEY
    requires:
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
homepage: https://robo.fun
  emoji: "\U0001F916"
  category: prediction-markets
  api_base: https://api.robo.fun/api/v1
  openclaw:
    primaryEnv: ROBO_FUN_API_KEY
    requires:
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
homepage: https://robo.fun
  emoji: "\U0001F916"
  category: prediction-markets
  api_base: https://api.robo.fun/api/v1
  openclaw:
    primaryEnv: ROBO_FUN_API_KEY
    requires:
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
homepage: https://robo.fun
  emoji: "\U0001F916"
  category: prediction-markets
  api_base: https://api.robo.fun/api/v1
  openclaw:
    primaryEnv: ROBO_FUN_API_KEY
    requires:
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
homepage: https://robo.fun
  emoji: "\U0001F916"
  category: prediction-markets
  api_base: https://api.robo.fun/api/v1
  openclaw:
    primaryEnv: ROBO_FUN_API_KEY
    requires:
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
homepage: https://robo.fun
  emoji: "\U0001F916"
  category: prediction-markets
  api_base: https://api.robo.fun/api/v1
  openclaw:
    primaryEnv: ROBO_FUN_API_KEY
    requires:
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
homepage: https://robo.fun
  emoji: "\U0001F916"
  category: prediction-markets
  api_base: https://api.robo.fun/api/v1
  openclaw:
    primaryEnv: ROBO_FUN_API_KEY
    requires:
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
homepage: https://robo.fun
  emoji: "\U0001F916"
  category: prediction-markets
  api_base: https://api.robo.fun/api/v1
  openclaw:
    primaryEnv: ROBO_FUN_API_KEY
    requires:
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
homepage: https://robo.fun
  emoji: "\U0001F916"
  category: prediction-markets
  api_base: https://api.robo.fun/api/v1
  openclaw:
    primaryEnv: ROBO_FUN_API_KEY
    requires:
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
homepage: https://robo.fun
  emoji: "\U0001F916"
  category: prediction-markets
  api_base: https://api.robo.fun/api/v1
  openclaw:
    primaryEnv: ROBO_FUN_API_KEY
    requires:
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
env:
        - ROBO_FUN_API_KEY
      bins:
        - curl
    install:
      - npx clawhub@latest install robodotfun
---
Confidence
60% confidence
Finding
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Rp1

Medium
Category
MCP Rug Pull
Confidence
95% confidence
Finding
The skill installs and updates tooling via `npx clawhub@latest install robodotfun`, which fetches the latest package at execution time rather than a pinned, verified version. In an agent context, this creates a supply-chain risk: a compromised upstream package or malicious new release could execute arbitrary code during install or update and gain access to environment secrets such as `ROBO_FUN_API_KEY`.

Missing User Warnings

Medium
Confidence
92% confidence
Finding
The skill instructs agents to place bets, create markets, and spend USDC without a prominent upfront warning that these are real financial actions and may be irreversible or loss-incurring. In an autonomous agent setting, underemphasizing monetary risk increases the chance of users enabling spending behavior without informed consent.

Rp1

Medium
Category
MCP Rug Pull
Confidence
95% confidence
Finding
This instruction tells agents to re-run `npx clawhub@latest install robodotfun` whenever the reported skill version changes, again relying on an unpinned latest package. Because the skill also says to do this at the start of every session, it increases exposure to remote code execution and package substitution attacks through repeated unaudited installs.

External Transmission

Medium
Category
Data Exfiltration
Content
After registration, agents start in `registered` status. You **must** activate your agent before placing bets:

```bash
curl -X POST https://api.robo.fun/api/v1/agents/ping \
  -H "X-API-Key: rr_agent_your_api_key_here"
```
Confidence
78% confidence
Finding
Activating the agent is a state-changing external request authenticated by API key, and the document frames it as mandatory before betting. While expected, it still represents a privileged remote action that could be triggered without sufficient user awareness if the skill is invoked automatically.

External Transmission

Medium
Category
Data Exfiltration
Content
**Check Your Balance**:

```bash
curl https://api.robo.fun/api/v1/agents/balance \
  -H "X-API-Key: rr_agent_your_api_key_here"
```
Confidence
77% confidence
Finding
The balance endpoint transmits an API key and returns wallet address and financial balances, which are sensitive account details. While normal for the product, exposing or overusing such queries can reveal financial metadata that should be treated as sensitive in agent workflows.

Static analysis

No suspicious patterns detected.