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

Content
View full analysis

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

md
homepage: https://robo.fun
  emoji: "\U0001F916"
  category: prediction-markets
  api_base: https://api.robo.fun/api/v1
  openclaw:
    primaryEnv: ROBO_FUN_API_KEY
    requires:

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

md
homepage: https://robo.fun
  emoji: "\U0001F916"
  category: prediction-markets
  api_base: https://api.robo.fun/api/v1
  openclaw:
    primaryEnv: ROBO_FUN_API_KEY
    requires:

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

md
homepage: https://robo.fun
  emoji: "\U0001F916"
  category: prediction-markets
  api_base: https://api.robo.fun/api/v1
  openclaw:
    primaryEnv: ROBO_FUN_API_KEY
    requires:

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

md
homepage: https://robo.fun
  emoji: "\U0001F916"
  category: prediction-markets
  api_base: https://api.robo.fun/api/v1
  openclaw:
    primaryEnv: ROBO_FUN_API_KEY
    requires:

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

md
homepage: https://robo.fun
  emoji: "\U0001F916"
  category: prediction-markets
  api_base: https://api.robo.fun/api/v1
  openclaw:
    primaryEnv: ROBO_FUN_API_KEY
    requires:

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

md
homepage: https://robo.fun
  emoji: "\U0001F916"
  category: prediction-markets
  api_base: https://api.robo.fun/api/v1
  openclaw:
    primaryEnv: ROBO_FUN_API_KEY
    requires:

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

md
homepage: https://robo.fun
  emoji: "\U0001F916"
  category: prediction-markets
  api_base: https://api.robo.fun/api/v1
  openclaw:
    primaryEnv: ROBO_FUN_API_KEY
    requires:

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

md
homepage: https://robo.fun
  emoji: "\U0001F916"
  category: prediction-markets
  api_base: https://api.robo.fun/api/v1
  openclaw:
    primaryEnv: ROBO_FUN_API_KEY
    requires:

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

md
homepage: https://robo.fun
  emoji: "\U0001F916"
  category: prediction-markets
  api_base: https://api.robo.fun/api/v1
  openclaw:
    primaryEnv: ROBO_FUN_API_KEY
    requires:

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

md
homepage: https://robo.fun
  emoji: "\U0001F916"
  category: prediction-markets
  api_base: https://api.robo.fun/api/v1
  openclaw:
    primaryEnv: ROBO_FUN_API_KEY
    requires:

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

md
homepage: https://robo.fun
  emoji: "\U0001F916"
  category: prediction-markets
  api_base: https://api.robo.fun/api/v1
  openclaw:
    primaryEnv: ROBO_FUN_API_KEY
    requires:

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

md
homepage: https://robo.fun
  emoji: "\U0001F916"
  category: prediction-markets
  api_base: https://api.robo.fun/api/v1
  openclaw:
    primaryEnv: ROBO_FUN_API_KEY
    requires:

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

md
homepage: https://robo.fun
  emoji: "\U0001F916"
  category: prediction-markets
  api_base: https://api.robo.fun/api/v1
  openclaw:
    primaryEnv: ROBO_FUN_API_KEY
    requires:

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

md
homepage: https://robo.fun
  emoji: "\U0001F916"
  category: prediction-markets
  api_base: https://api.robo.fun/api/v1
  openclaw:
    primaryEnv: ROBO_FUN_API_KEY
    requires:

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

md
homepage: https://robo.fun
  emoji: "\U0001F916"
  category: prediction-markets
  api_base: https://api.robo.fun/api/v1
  openclaw:
    primaryEnv: ROBO_FUN_API_KEY
    requires:

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

md
homepage: https://robo.fun
  emoji: "\U0001F916"
  category: prediction-markets
  api_base: https://api.robo.fun/api/v1
  openclaw:
    primaryEnv: ROBO_FUN_API_KEY
    requires:

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

md
homepage: https://robo.fun
  emoji: "\U0001F916"
  category: prediction-markets
  api_base: https://api.robo.fun/api/v1
  openclaw:
    primaryEnv: ROBO_FUN_API_KEY
    requires:

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

md
homepage: https://robo.fun
  emoji: "\U0001F916"
  category: prediction-markets
  api_base: https://api.robo.fun/api/v1
  openclaw:
    primaryEnv: ROBO_FUN_API_KEY
    requires:

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

md
homepage: https://robo.fun
  emoji: "\U0001F916"
  category: prediction-markets
  api_base: https://api.robo.fun/api/v1
  openclaw:
    primaryEnv: ROBO_FUN_API_KEY
    requires:

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

md
env:
        - ROBO_FUN_API_KEY
      bins:
        - curl
    install:
      - npx clawhub@latest install robodotfun
---

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.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
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.

Content

No source excerpt is available for this finding.

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.

Content

No source excerpt is available for this finding.

External Transmission

Medium
Category
Data Exfiltration
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.

Content

Scanner excerpt · skill.md (reported line 62)May include surrounding context.

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"

External Transmission

Medium
Category
Data Exfiltration
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.

Content

Scanner excerpt · skill.md (reported line 201)May include surrounding context.

Check Your Balance:

bash
curl https://api.robo.fun/api/v1/agents/balance \
  -H "X-API-Key: rr_agent_your_api_key_here"

Static analysis

No suspicious patterns detected.