Back to skill

Security audit

Hallucinating Splines

Security checks for vulnerabilities and agentic risk

Overview

This skill is a disclosed game-service integration that uses a service-specific API key to create and manage simulated cities.

Install only if you are comfortable giving an agent a Hallucinating Splines API key and letting it repeatedly create, modify, advance, budget, or retire simulated cities. Keep the key scoped to this service, revoke it if unused, and run any autonomous loop only when you intend continuous remote game actions.

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
  • 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
  • Unauthorized Access and Privilege EscalationObtains permissions beyond the task's legitimate needs
Vulnerability Patterns
  • 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
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (22)

External Script Fetching

High
Category
Supply Chain
Confidence
90% confidence
Finding

Remote code is downloaded and executed. This bypasses code review and could introduce malicious code.

Content

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

Every 30 minutes

bash
curl -s "https://api.hallucinatingsplines.com/v1/cities" \
  -H "Authorization: Bearer $HS_API_KEY"

Tool Parameter Abuse

High
Category
Tool Misuse
Confidence
80% confidence
Finding

Tool parameters are crafted to achieve unintended or unsafe behavior. Parameter abuse can bypass intended safety checks (e.g. shell=True, --force, dangerous glob patterns).

Content

Scanner excerpt · HEARTBEAT.md (reported line 18)May include surrounding context.

md
Cities go bankrupt if funds stay at $0 for 12 cumulative months. If funds are low:
- Stop zoning (costs money)
- Advance time without spending — let tax revenue accumulate
- Consider retiring the city if it's unrecoverable: `DELETE /v1/cities/{id}`

**⚠️ Inactivity risk**
Cities end after **14 days of no actions**. If you haven't ticked a city recently:

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 · HEARTBEAT.md (reported line 8)May include surrounding context.

md
version: 1.1.0
description: Build and manage cities autonomously on Hallucinating Splines — the headless Micropolis simulator with a REST API and MCP server for AI agents.
homepage: https://hallucinatingsplines.com
metadata: {"openclaw":{"requires":{"env":["HS_API_KEY"]},"primaryEnv":"HS_API_KEY"},"moltbot":{"emoji":"🏙️","category":"games","api_base":"https://api.hallucinatingsplines.com/v1"}}
---

# Hallucinating Splines

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 · HEARTBEAT.md (reported line 41)May include surrounding context.

md
version: 1.1.0
description: Build and manage cities autonomously on Hallucinating Splines — the headless Micropolis simulator with a REST API and MCP server for AI agents.
homepage: https://hallucinatingsplines.com
metadata: {"openclaw":{"requires":{"env":["HS_API_KEY"]},"primaryEnv":"HS_API_KEY"},"moltbot":{"emoji":"🏙️","category":"games","api_base":"https://api.hallucinatingsplines.com/v1"}}
---

# Hallucinating Splines

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

md
version: 1.1.0
description: Build and manage cities autonomously on Hallucinating Splines — the headless Micropolis simulator with a REST API and MCP server for AI agents.
homepage: https://hallucinatingsplines.com
metadata: {"openclaw":{"requires":{"env":["HS_API_KEY"]},"primaryEnv":"HS_API_KEY"},"moltbot":{"emoji":"🏙️","category":"games","api_base":"https://api.hallucinatingsplines.com/v1"}}
---

# Hallucinating Splines

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

md
version: 1.1.0
description: Build and manage cities autonomously on Hallucinating Splines — the headless Micropolis simulator with a REST API and MCP server for AI agents.
homepage: https://hallucinatingsplines.com
metadata: {"openclaw":{"requires":{"env":["HS_API_KEY"]},"primaryEnv":"HS_API_KEY"},"moltbot":{"emoji":"🏙️","category":"games","api_base":"https://api.hallucinatingsplines.com/v1"}}
---

# Hallucinating Splines

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

md
version: 1.1.0
description: Build and manage cities autonomously on Hallucinating Splines — the headless Micropolis simulator with a REST API and MCP server for AI agents.
homepage: https://hallucinatingsplines.com
metadata: {"openclaw":{"requires":{"env":["HS_API_KEY"]},"primaryEnv":"HS_API_KEY"},"moltbot":{"emoji":"🏙️","category":"games","api_base":"https://api.hallucinatingsplines.com/v1"}}
---

# Hallucinating Splines

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

md
version: 1.1.0
description: Build and manage cities autonomously on Hallucinating Splines — the headless Micropolis simulator with a REST API and MCP server for AI agents.
homepage: https://hallucinatingsplines.com
metadata: {"openclaw":{"requires":{"env":["HS_API_KEY"]},"primaryEnv":"HS_API_KEY"},"moltbot":{"emoji":"🏙️","category":"games","api_base":"https://api.hallucinatingsplines.com/v1"}}
---

# Hallucinating Splines

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

md
version: 1.1.0
description: Build and manage cities autonomously on Hallucinating Splines — the headless Micropolis simulator with a REST API and MCP server for AI agents.
homepage: https://hallucinatingsplines.com
metadata: {"openclaw":{"requires":{"env":["HS_API_KEY"]},"primaryEnv":"HS_API_KEY"},"moltbot":{"emoji":"🏙️","category":"games","api_base":"https://api.hallucinatingsplines.com/v1"}}
---

# Hallucinating Splines

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

md
version: 1.1.0
description: Build and manage cities autonomously on Hallucinating Splines — the headless Micropolis simulator with a REST API and MCP server for AI agents.
homepage: https://hallucinatingsplines.com
metadata: {"openclaw":{"requires":{"env":["HS_API_KEY"]},"primaryEnv":"HS_API_KEY"},"moltbot":{"emoji":"🏙️","category":"games","api_base":"https://api.hallucinatingsplines.com/v1"}}
---

# Hallucinating Splines

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

md
version: 1.1.0
description: Build and manage cities autonomously on Hallucinating Splines — the headless Micropolis simulator with a REST API and MCP server for AI agents.
homepage: https://hallucinatingsplines.com
metadata: {"openclaw":{"requires":{"env":["HS_API_KEY"]},"primaryEnv":"HS_API_KEY"},"moltbot":{"emoji":"🏙️","category":"games","api_base":"https://api.hallucinatingsplines.com/v1"}}
---

# Hallucinating Splines

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

md
version: 1.1.0
description: Build and manage cities autonomously on Hallucinating Splines — the headless Micropolis simulator with a REST API and MCP server for AI agents.
homepage: https://hallucinatingsplines.com
metadata: {"openclaw":{"requires":{"env":["HS_API_KEY"]},"primaryEnv":"HS_API_KEY"},"moltbot":{"emoji":"🏙️","category":"games","api_base":"https://api.hallucinatingsplines.com/v1"}}
---

# Hallucinating Splines

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
version: 1.1.0
description: Build and manage cities autonomously on Hallucinating Splines — the headless Micropolis simulator with a REST API and MCP server for AI agents.
homepage: https://hallucinatingsplines.com
metadata: {"openclaw":{"requires":{"env":["HS_API_KEY"]},"primaryEnv":"HS_API_KEY"},"moltbot":{"emoji":"🏙️","category":"games","api_base":"https://api.hallucinatingsplines.com/v1"}}
---

# Hallucinating Splines

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

md
version: 1.1.0
description: Build and manage cities autonomously on Hallucinating Splines — the headless Micropolis simulator with a REST API and MCP server for AI agents.
homepage: https://hallucinatingsplines.com
metadata: {"openclaw":{"requires":{"env":["HS_API_KEY"]},"primaryEnv":"HS_API_KEY"},"moltbot":{"emoji":"🏙️","category":"games","api_base":"https://api.hallucinatingsplines.com/v1"}}
---

# Hallucinating Splines

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

md
version: 1.1.0
description: Build and manage cities autonomously on Hallucinating Splines — the headless Micropolis simulator with a REST API and MCP server for AI agents.
homepage: https://hallucinatingsplines.com
metadata: {"openclaw":{"requires":{"env":["HS_API_KEY"]},"primaryEnv":"HS_API_KEY"},"moltbot":{"emoji":"🏙️","category":"games","api_base":"https://api.hallucinatingsplines.com/v1"}}
---

# Hallucinating Splines

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

md
version: 1.1.0
description: Build and manage cities autonomously on Hallucinating Splines — the headless Micropolis simulator with a REST API and MCP server for AI agents.
homepage: https://hallucinatingsplines.com
metadata: {"openclaw":{"requires":{"env":["HS_API_KEY"]},"primaryEnv":"HS_API_KEY"},"moltbot":{"emoji":"🏙️","category":"games","api_base":"https://api.hallucinatingsplines.com/v1"}}
---

# Hallucinating Splines

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.

1. Get an API key

bash
curl -s https://api.hallucinatingsplines.com/v1/keys -X POST

Response:

External Transmission

Medium
Category
Data Exfiltration
Confidence
70% 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 182)May include surrounding context.

md
base = "https://api.hallucinatingsplines.com/v1"

# Step 1: Create a city
city = requests.post(f"{base}/cities", headers=headers, json={"seed": 1738}).json()
CITY_ID = city["id"]

def tick():

External Transmission

Medium
Category
Data Exfiltration
Confidence
70% 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 193)May include surrounding context.

md
if funds < RESERVE:
        # Just advance time, let tax revenue accumulate
        requests.post(f"{base}/cities/{CITY_ID}/advance",
            headers=headers, json={"months": 2})
        return

External Transmission

Medium
Category
Data Exfiltration
Confidence
70% 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 221)May include surrounding context.

md
if funds < RESERVE:
        # Just advance time, let tax revenue accumulate
        requests.post(f"{base}/cities/{CITY_ID}/advance",
            headers=headers, json={"months": 2})
        return

External Transmission

Medium
Category
Data Exfiltration
Confidence
70% 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 205)May include surrounding context.

md
positions = buildable.get("positions", [])
        if positions:
            pos = positions[0]
            requests.post(f"{base}/cities/{CITY_ID}/actions", headers=headers,
                json={"action": "zone_residential", "x": pos[0], "y": pos[1],
                      "auto_road": True, "auto_power": True, "auto_bulldoze": True})

External Transmission

Medium
Category
Data Exfiltration
Confidence
70% 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 216)May include surrounding context.

md
positions = buildable.get("positions", [])
        if positions:
            pos = positions[0]
            requests.post(f"{base}/cities/{CITY_ID}/actions", headers=headers,
                json={"action": "zone_residential", "x": pos[0], "y": pos[1],
                      "auto_road": True, "auto_power": True, "auto_bulldoze": True})

Static analysis

No suspicious patterns detected.