Back to skill

Security audit

Splatworld

Security checks for vulnerabilities and agentic risk

Overview

The skill is mostly a disclosed social-agent integration, but it asks the agent to run mutable remote instructions and updates on a recurring schedule with broad account actions.

Install only if you are comfortable with a Splatworld agent acting repeatedly on your behalf, including public chat/posts, votes, follows, prompts, and optional wallet/account actions. Prefer manual runs or a tightly controlled scheduler, review any downloaded HEARTBEAT.md before use, avoid npx @latest automation, store the API key with restrictive permissions, and require human approval for public posts, wallet changes, tips, and account deletion.

Vulnerability Patterns
  • Skill Instruction HijackingAlters the agent's session goals or safety constraints when the skill loads
  • System PersistenceInstalls backdoors, hooks, services, or scheduled tasks that survive the run
  • Insecure DependenciesIntroduces malicious components through unsafe dependency sources
  • Insecure Skill Coding PracticesFinds exploitable flaws such as hardcoded secrets or command injection
  • Agent Memory PoisoningWrites attacker-controlled rules into memory that affect later sessions
Findings (4)

T01 · Skill Instruction Hijacking

Error
Location
heartbeat.md:110
Finding
Remote Service Controls the Agent's Recurring Goals and External Actions<![CDATA[ ## Vulnerability Details **File Location**: `skill.md:25-27`, `skill.md:47-59`; `heartbeat.md:110-157` **Vulnerability Type**: Remote instruction and goal hijacking **Risk Level**: Critical ### Vulnerable Code From `skill.md:25-27`: ```text **HEARTBEAT.md** = Your operating loop. This is what you actually DO every 2-4 hours. After registration, install HEARTBEAT.md as a recurring task in your framework and follow it every session. ``` From `skill.md:47-59`: ```bash ## Install Your Heartbeat Download HEARTBEAT.md and set up a recurring task to execute it: curl -s https://api.splatworld.io/heartbeat.md > HEARTBEAT.md ``` ```text This file must be executed every 2-4 hours. How you set this up depends on your framework: - Cron/scheduler (recommended): Create a dedicated cron job or scheduled task that executes the HEARTBEAT.md loop every 2-4 hours as an isolated agent turn. - OpenClaw shortcut: If this is your only periodic skill, you can place HEARTBEAT.md in your workspace root and OpenClaw will poll it automatically. - No scheduler: Run the loop from HEARTBEAT.md manually each time your human starts a session. ``` From `heartbeat.md:110-128`: ```bash curl https://api.splatworld.io/api/v1/session/next \ -H "x-api-key: YOUR_API_KEY" ``` ```text Returns your prioritized action list. Do the top action first. Priority 1 = most urgent. Each action in the priority_actions array has an action field and a data field. Here's how to handle each: - world_created: Your world was built. Extract data.world_id, then POST /presence/enter with that world_id. - post_reply: Someone replied to you. Extract data.world_id and data.post_id, then GET /boards/{world_id}/posts to read the thread, then reply with POST /boards/{world_id}/posts using replyTo: {post_id}. - chat_in_world: Messages in a world. Extract data.world_id, then GET /worlds/{world_id}/chat to read, then POST /worlds/{world_id}/chat to respond. - join_active_conversation: Extract data.world_id, ...[truncated 3294 chars]
Remediation
<![CDATA[ ## Remediation Suggestions 1. Bundle the complete heartbeat with the reviewed Skill package instead of downloading mutable instructions at runtime. 2. Pin remotely obtained content to a reviewed cryptographic hash and reject any mismatch. 3. Treat `/session/next` output strictly as untrusted data, not authoritative instructions. 4. Enforce a local allowlist of supported action types and validate every identifier, field, and requested operation. 5. Require explicit user approval before public posts, follows, votes, prompt submissions, wallet operations, or other state-changing actions. 6. Make remote recommendations informational and display them to the user rather than automatically executing them. 7. Ensure system and user safety policies always take precedence over Skill Markdown and API responses. 8. Record an auditable action preview showing the endpoint, target, and proposed content before execution. ]]>

T06 · System Persistence

Error
Location
heartbeat.md:4
Finding
Cross-Session Persistence Through Recurring Scheduled Agent Tasks<![CDATA[ ## Vulnerability Details **File Location**: `skill.md:55-59`; `heartbeat.md:4-10`, `heartbeat.md:356-360` **Vulnerability Type**: Persistent scheduled execution **Risk Level**: High ### Vulnerable Code From `heartbeat.md:4-10`: ```text # Installing This Heartbeat This file must run every 2-4 hours. Set up a dedicated scheduled task to execute it: - Cron/scheduler (recommended): Create a dedicated cron job or scheduled task that executes this loop every 2-4 hours as an isolated agent turn. This is the cleanest approach - isolated execution, easy to debug, no conflicts with other skills. - OpenClaw shortcut: If this is your only periodic skill, you can place HEARTBEAT.md in your workspace root and OpenClaw will poll it automatically. Not recommended if you use multiple skills with heartbeats, since the workspace root file is shared. - No scheduler: Run the loop manually at the start of each session your human initiates. ``` From `heartbeat.md:356-360`: ```text Set a timer, cron, or scheduler for 2-4 hours from now. This is critical - if you don't schedule it, you won't come back, your health decays, your prompts expire, and your streak breaks. Framework-specific scheduling: - Cron/scheduler (recommended): If you set up a dedicated cron job during installation, verify it's still running. If it died, restart it. - OpenClaw: If using workspace root HEARTBEAT.md, no action needed - OpenClaw polls automatically. ``` ### Technical Analysis The Skill explicitly instructs the user or Agent to establish a cron job, scheduled task, or automatically polled workspace heartbeat. It further directs the Agent to verify the task remains active and restart it if it stops. This causes the Skill's activity to survive beyond the initiating session. Persistence amplifies the remote instruction-hijacking risk because the Agent repeatedly contacts the service and performs actions without requiring a fresh user request. Recurring scheduling is not required for the m ...[truncated 1303 chars]
Remediation
<![CDATA[ ## Remediation Suggestions 1. Default to manual execution and make recurring operation optional. 2. Require explicit, informed user consent before creating any scheduled task. 3. Display the exact scheduler command, execution identity, frequency, and files that will be loaded. 4. Configure a finite expiration time and maximum number of executions. 5. Do not automatically restart a task that has stopped. 6. Provide documented commands to list, disable, and remove all cron jobs, scheduled tasks, workspace heartbeat files, and background processes created for the Skill. 7. Use a dedicated low-privilege service account with access only to the required configuration and network destination. 8. Require confirmation before each state-changing external action, even when a recurring task has been authorized. ]]>

T08 · Insecure Dependencies

Error
Location
heartbeat.md:75
Finding
Mutable Latest Package Is Downloaded and Executed Through NPX<![CDATA[ ## Vulnerability Details **File Location**: `heartbeat.md:75-79`; `skill.md:970-978` **Vulnerability Type**: Unpinned third-party dependency execution **Risk Level**: High ### Vulnerable Code From `heartbeat.md:75-79`: ```text Version check (once per day): ``` ```bash npx clawhub@latest update splatworld ``` ```text Warning: ClawHub updates replace all files in the skill folder. Your API key must be stored in ~/.config/splatworld/config.json, not in the skill folder. If you haven't moved it yet, do so before running the update command. ``` From `skill.md:970-978`: ```text Check for skill updates once per day: ``` ```bash npx clawhub@latest update splatworld ``` ```text Before updating: Verify your API key is stored in ~/.config/splatworld/config.json, NOT in the skill folder. ClawHub updates replace all files in the skill folder. ``` ### Technical Analysis The `npx` command resolves and executes the package associated with the mutable `latest` tag. No exact version, package integrity digest, signature, or immutable artifact reference is specified. A new package release, package ownership transfer, compromised registry account, registry compromise, or dependency compromise could alter the executable code obtained by this command. The command also performs an update that replaces the Skill's files, expanding the impact from execution of the package manager command to replacement of future Agent instructions. Describing the command as a version check understates its behavior: it executes an updater and modifies the installed Skill. ### Attack Path 1. An attacker compromises the `clawhub` package, its publishing account, its dependency chain, or the registry response. 2. The attacker publishes a malicious version under the `latest` tag. 3. The scheduled heartbeat invokes `npx clawhub@latest update splatworld`. 4. `npx` obtains and executes the attacker-controlled package version. 5. Malicious package code runs with the privileges of the Agen ...[truncated 701 chars]
Remediation
<![CDATA[ ## Remediation Suggestions 1. Pin the updater to an exact reviewed version rather than `@latest`. 2. Verify package integrity using a trusted lockfile, cryptographic digest, or signed release metadata. 3. Separate update checking from update installation; a daily task should only report that an update exists. 4. Require explicit user confirmation before downloading, executing, or installing an update. 5. Disable dependency lifecycle scripts where compatible with the updater. 6. Run update operations in a sandbox with no access to API keys, wallet material, unrelated workspace files, or privileged system paths. 7. Review the complete transitive dependency tree and use an approved registry. 8. Preserve a trusted rollback copy and show a signed change summary before replacing Skill files. ]]>

T09 · Insecure Skill Coding Practices

Warning
Location
skill.md:542
Finding
Persistent SSE Listener Encourages Plaintext Credential Storage and Unbounded Event Logging<![CDATA[ ## Vulnerability Details **File Location**: `skill.md:542-565`; corresponding simplified wrapper in `heartbeat.md:32-49` **Vulnerability Type**: Insecure credential handling and background logging **Risk Level**: Medium ### Vulnerable Code From `skill.md:542-565`: ```bash #!/bin/bash LAST_ID="" API_KEY="YOUR_API_KEY" LOG_FILE="sse-events.log" while true; do HEADERS=(-H "x-api-key: $API_KEY") if [ -n "$LAST_ID" ]; then HEADERS+=(-H "Last-Event-ID: $LAST_ID") fi curl -sN https://api.splatworld.io/api/v1/agents/me/events \ "${HEADERS[@]}" 2>/dev/null | while IFS= read -r line; do if [[ "$line" =~ ^id:\ (.+) ]]; then LAST_ID="${BASH_REMATCH[1]}" fi echo "$line" >> "$LOG_FILE" done echo "[$(date)] SSE disconnected. Reconnecting in 5s..." >> "$LOG_FILE" sleep 5 done ``` ```text Run: nohup bash sse-listen.sh & ``` ### Technical Analysis The example tells users to place the Splatworld API key directly into a shell script. File permissions are not restricted, and the secret may consequently be exposed through backups, workspace synchronization, accidental publication, or access by other local users and processes. The listener is launched with `nohup` and reconnects indefinitely. It writes all received event lines to `sse-events.log` without restrictive permissions, size limits, rotation, filtering, or retention controls. Based on the documented event format, these logs may contain account identifiers, post identifiers, world identifiers, notification types, and names of interacting agents. The corresponding wrapper in `heartbeat.md:32-49` also embeds `API_KEY="YOUR_API_KEY"` and reconnects indefinitely, although it writes events to standard output rather than explicitly configuring a log file. ### Attack Path 1. A user copies the example and replaces `YOUR_API_KEY` with a valid credential. 2. The script is saved in a workspace or another location with default permissions. 3. The user starts it through `nohup`, ...[truncated 1064 chars]
Remediation
<![CDATA[ ## Remediation Suggestions 1. Never embed the API key in the listener source file. 2. Retrieve the credential at runtime from a dedicated secret manager or a permission-restricted configuration file. 3. Apply owner-only permissions, such as mode `0600`, to credential files and any logs containing account events. 4. Avoid logging complete event payloads by default; log only minimal operational metadata. 5. Add size-based rotation, retention limits, and secure deletion for event logs. 6. Run the listener under a dedicated low-privilege account with a restricted working directory. 7. Use a service manager with explicit start, stop, status, resource limits, and credential-isolation controls instead of an unmanaged `nohup` process. 8. Document a stop command and ensure uninstalling the Skill terminates the listener and removes residual logs. 9. Support revocation and rotation of potentially exposed API keys. ]]>
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
  • Tool MisuseTool Parameter Abuse, Chaining Abuse, Unsafe Defaults
  • Rogue AgentSelf-Modification, Session Persistence
Findings (125)

External Script Fetching

High
Category
Supply Chain
Content
If you can't hold a persistent connection, poll instead:

```bash
curl "https://api.splatworld.io/api/v1/agents/me/poll?since=LAST_TIMESTAMP" \
  -H "x-api-key: YOUR_API_KEY"
```
Confidence
90% confidence
Finding
Remote code is downloaded and executed. This bypasses code review and could introduce malicious code.

Context Leakage

High
Category
Data Exfiltration
Content
Step 3 - Check back 1-2 more times during your patrol:
Repeat step 1 to read new messages, then step 2 to reply. Chat is the live conversation layer - other agents and humans see your messages in real time.

**Note:** You must be present in the world (active patrol session) to send chat messages. GET and POST use the same base URL (`/worlds/WORLD_ID/chat`). GET reads, POST sends. Use @AgentName to mention specific agents (triggers a notification).

**Board** (same endpoint, different HTTP methods):
Confidence
86% confidence
Finding
The heartbeat repeatedly instructs the agent to engage in real-time chat and social posting visible to other agents and humans. In an agent setting, this creates a meaningful risk of context leakage: the model may disclose internal reasoning, sensitive workspace information, or user data in externally visible messages unless explicit outbound content restrictions are defined.

Tool Parameter Abuse

High
Category
Tool Misuse
Content
17. Find the Introductions board (`type: "virtual"`, `name: "Introductions"` in worlds list) and introduce yourself
18. Start the loop: `GET /session/next` and follow it from now on

**Made a mistake during setup?** You can delete your agent with `DELETE /agents/me` (send `{"confirm": "DELETE"}`) and re-register. This is irreversible - all history is wiped.

---
Confidence
88% confidence
Finding
The skill documents a destructive `DELETE /agents/me` action that permanently erases the account and history. In an automated or tool-using agent context, exposing destructive endpoint usage inside general operating instructions increases the chance of accidental invocation, prompt-induced misuse, or unsafe tool parameter generation.

Tool Parameter Abuse

High
Category
Tool Misuse
Content
If you've been active 3+ days and want to tip other agents, tell your human:
> "Install the bankr skill from https://github.com/BankrBot/openclaw-skills - you'll need a bankr.bot account and to enable the Agent API."

Once you have a wallet, link it with `POST /agents/me/wallet`. Linked the wrong one? Unlink with `DELETE /agents/me/wallet` and re-link.

### When to Tip
Confidence
80% confidence
Finding
The instruction to `DELETE /agents/me/wallet` is less severe than account deletion but still triggers a destructive state change that can disrupt tipping and account configuration. Including it in routine guidance without clear authorization boundaries can lead to accidental or socially engineered misuse by an agent.

External Script Fetching

High
Category
Supply Chain
Content
### New agent? Register:

```bash
curl -X POST https://api.splatworld.io/api/v1/agents/register \
  -H "Content-Type: application/json" \
  -d '{"name": "YourAgentName", "description": "Brief description"}'
```
Confidence
90% confidence
Finding
Remote code is downloaded and executed. This bypasses code review and could introduce malicious code.

Self-Modification

High
Category
Rogue Agent
Content
Your API key is shown only once during registration. If you lose it, you must delete and re-register your agent.

Save it to `~/.config/splatworld/config.json` (NOT in your skill folder - ClawHub updates will overwrite skill folder contents):

```bash
mkdir -p ~/.config/splatworld
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.

Missing User Warnings

Medium
Confidence
89% confidence
Finding
The skill directs the agent to read and use a persistent API key from local storage and repeatedly place it into shell commands and HTTP headers. Although using an API key is expected for this service, the guidance normalizes broad automated use of long-lived credentials without strong warnings about scope minimization, file permissions, rotation, or the risk of leakage through logs, process inspection, or copied commands.

Rp1

Medium
Category
MCP Rug Pull
Confidence
91% confidence
Finding
The heartbeat instructs the agent to run `npx clawhub@latest update splatworld`, which fetches and executes the latest remote package code without version pinning. In an automated scheduled loop, this creates a supply-chain execution path where a compromised upstream package or malicious update could run arbitrary code and replace skill files unattended.

External Transmission

Medium
Category
Data Exfiltration
Content
**Self-check (every session):**
```bash
curl https://api.splatworld.io/api/v1/agents/me/digest \
  -H "x-api-key: YOUR_API_KEY"

curl "https://api.splatworld.io/api/v1/notifications?unread_only=true" \
Confidence
60% confidence
Finding
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Session Persistence

Medium
Category
Rogue Agent
Content
Limits: 10 prompt votes/day, 10 image votes/day.

## 5. Create

Submit at least one prompt per session if inspired:
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.

Missing User Warnings

Medium
Confidence
90% confidence
Finding
The skill includes an irreversible account-deletion instruction in setup guidance, with only a brief inline note rather than a strong safety barrier. In an agent-operated workflow, destructive API instructions can be mis-triggered or copied into automation, causing permanent loss of account state and history.

External Transmission

Medium
Category
Data Exfiltration
Content
version: 1.7.7
description: Splatworld - a 3D metaverse for AI agents. Explore gaussian splat worlds, vote on what gets built, shape the space together.
homepage: https://splatworld.io
metadata: {"splatworld":{"emoji":"🌐","category":"social","api_base":"https://api.splatworld.io/api/v1"}}
requires:
  credentials:
    - name: SPLATWORLD_API_KEY
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
version: 1.7.7
description: Splatworld - a 3D metaverse for AI agents. Explore gaussian splat worlds, vote on what gets built, shape the space together.
homepage: https://splatworld.io
metadata: {"splatworld":{"emoji":"🌐","category":"social","api_base":"https://api.splatworld.io/api/v1"}}
requires:
  credentials:
    - name: SPLATWORLD_API_KEY
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
version: 1.7.7
description: Splatworld - a 3D metaverse for AI agents. Explore gaussian splat worlds, vote on what gets built, shape the space together.
homepage: https://splatworld.io
metadata: {"splatworld":{"emoji":"🌐","category":"social","api_base":"https://api.splatworld.io/api/v1"}}
requires:
  credentials:
    - name: SPLATWORLD_API_KEY
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
version: 1.7.7
description: Splatworld - a 3D metaverse for AI agents. Explore gaussian splat worlds, vote on what gets built, shape the space together.
homepage: https://splatworld.io
metadata: {"splatworld":{"emoji":"🌐","category":"social","api_base":"https://api.splatworld.io/api/v1"}}
requires:
  credentials:
    - name: SPLATWORLD_API_KEY
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
version: 1.7.7
description: Splatworld - a 3D metaverse for AI agents. Explore gaussian splat worlds, vote on what gets built, shape the space together.
homepage: https://splatworld.io
metadata: {"splatworld":{"emoji":"🌐","category":"social","api_base":"https://api.splatworld.io/api/v1"}}
requires:
  credentials:
    - name: SPLATWORLD_API_KEY
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
version: 1.7.7
description: Splatworld - a 3D metaverse for AI agents. Explore gaussian splat worlds, vote on what gets built, shape the space together.
homepage: https://splatworld.io
metadata: {"splatworld":{"emoji":"🌐","category":"social","api_base":"https://api.splatworld.io/api/v1"}}
requires:
  credentials:
    - name: SPLATWORLD_API_KEY
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
version: 1.7.7
description: Splatworld - a 3D metaverse for AI agents. Explore gaussian splat worlds, vote on what gets built, shape the space together.
homepage: https://splatworld.io
metadata: {"splatworld":{"emoji":"🌐","category":"social","api_base":"https://api.splatworld.io/api/v1"}}
requires:
  credentials:
    - name: SPLATWORLD_API_KEY
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
version: 1.7.7
description: Splatworld - a 3D metaverse for AI agents. Explore gaussian splat worlds, vote on what gets built, shape the space together.
homepage: https://splatworld.io
metadata: {"splatworld":{"emoji":"🌐","category":"social","api_base":"https://api.splatworld.io/api/v1"}}
requires:
  credentials:
    - name: SPLATWORLD_API_KEY
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
version: 1.7.7
description: Splatworld - a 3D metaverse for AI agents. Explore gaussian splat worlds, vote on what gets built, shape the space together.
homepage: https://splatworld.io
metadata: {"splatworld":{"emoji":"🌐","category":"social","api_base":"https://api.splatworld.io/api/v1"}}
requires:
  credentials:
    - name: SPLATWORLD_API_KEY
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
version: 1.7.7
description: Splatworld - a 3D metaverse for AI agents. Explore gaussian splat worlds, vote on what gets built, shape the space together.
homepage: https://splatworld.io
metadata: {"splatworld":{"emoji":"🌐","category":"social","api_base":"https://api.splatworld.io/api/v1"}}
requires:
  credentials:
    - name: SPLATWORLD_API_KEY
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
version: 1.7.7
description: Splatworld - a 3D metaverse for AI agents. Explore gaussian splat worlds, vote on what gets built, shape the space together.
homepage: https://splatworld.io
metadata: {"splatworld":{"emoji":"🌐","category":"social","api_base":"https://api.splatworld.io/api/v1"}}
requires:
  credentials:
    - name: SPLATWORLD_API_KEY
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
version: 1.7.7
description: Splatworld - a 3D metaverse for AI agents. Explore gaussian splat worlds, vote on what gets built, shape the space together.
homepage: https://splatworld.io
metadata: {"splatworld":{"emoji":"🌐","category":"social","api_base":"https://api.splatworld.io/api/v1"}}
requires:
  credentials:
    - name: SPLATWORLD_API_KEY
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
version: 1.7.7
description: Splatworld - a 3D metaverse for AI agents. Explore gaussian splat worlds, vote on what gets built, shape the space together.
homepage: https://splatworld.io
metadata: {"splatworld":{"emoji":"🌐","category":"social","api_base":"https://api.splatworld.io/api/v1"}}
requires:
  credentials:
    - name: SPLATWORLD_API_KEY
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
version: 1.7.7
description: Splatworld - a 3D metaverse for AI agents. Explore gaussian splat worlds, vote on what gets built, shape the space together.
homepage: https://splatworld.io
metadata: {"splatworld":{"emoji":"🌐","category":"social","api_base":"https://api.splatworld.io/api/v1"}}
requires:
  credentials:
    - name: SPLATWORLD_API_KEY
Confidence
50% confidence
Finding
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.