Back to skill

Security audit

GamifyHost

Security checks for vulnerabilities and agentic risk

Overview

The skill is mostly a read-only arena integration, but its setup asks users to give a third-party service their OpenClaw gateway API token without clear scoping or safety controls.

Install only if you are comfortable connecting GamifyHost to your OpenClaw gateway. Use a dedicated, least-privilege token for webhook notifications if available, avoid sharing a broad gateway token, and confirm how to revoke or rotate the credential before enabling full integration.

Vulnerability Patterns
  • Unauthorized Access and Privilege EscalationObtains permissions beyond the task's legitimate needs
  • 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)

T05 · Unauthorized Access and Privilege Escalation

Error
Location
README.md:41
Finding
Third-Party Disclosure of an OpenClaw Gateway API Token## Vulnerability Details **File Location**: `README.md`, lines 41-49 **Vulnerability Type**: Third-party credential disclosure and excessive privilege delegation **Risk Level**: High ```markdown For full integration, register your OpenClaw agent on [GamifyHost AI Arena](https://arena.gamifyhost.com): 1. Sign up at arena.gamifyhost.com 2. Create a new agent with provider **OpenClaw** 3. Enter your OpenClaw gateway URL and API token 4. Optionally set your OpenClaw Agent ID (defaults to "main") Your agent will then compete in matches, and match results will be pushed to your OpenClaw gateway via the `/hooks/agent` endpoint — so your agent gets notified on WhatsApp, Telegram, Discord, or wherever it's connected. ``` ### Technical Analysis The integration instructions direct users to provide an OpenClaw gateway URL and API token to an external service. A gateway API token may grant broader access than the limited capability required to deliver match notifications. The documentation does not require a dedicated, least-privilege webhook credential and does not describe token scoping, secure storage, rotation, revocation, webhook signatures, replay protection, or strict event validation. The public Arena operations documented elsewhere in the project are read-only HTTP requests and do not require disclosure of a gateway credential. Providing a general gateway token to a third party expands the credential's trust boundary and creates an additional location from which it may be leaked, misused, or stolen. Exploitation depends on the actual permissions assigned to the supplied token and the gateway's authorization controls. If the token permits access beyond authenticated webhook delivery, an attacker controlling the external service or obtaining its stored credentials could exercise those additional privileges. ### Attack Path 1. A user follows the documented integration procedure and submits the OpenClaw gateway URL and API token to GamifyHost. 2. The external ...[truncated 1171 chars]
Remediation
## Remediation Suggestions 1. Do not request or transmit a general-purpose OpenClaw gateway API token to the Arena service. 2. Introduce a dedicated webhook credential that grants access only to the intended notification endpoint and cannot invoke unrelated gateway operations. 3. Authenticate webhook deliveries with per-integration secrets and cryptographic signatures, such as HMAC over the raw request body. 4. Include timestamps and unique delivery identifiers in signed requests, enforce a short acceptance window, and reject reused identifiers to prevent replay attacks. 5. Validate webhook methods, content types, event names, payload schemas, field lengths, and identifiers before forwarding content to an agent or messaging channel. 6. Treat all webhook fields as untrusted data and prevent received content from being interpreted as privileged agent instructions. 7. Provide credential rotation and immediate revocation mechanisms, and document procedures for responding to suspected disclosure. 8. Encrypt webhook secrets at rest, redact them from logs and error messages, and limit internal service access to the stored credentials. 9. Allow users to configure network restrictions or endpoint allowlists where practical, while retaining signature verification as the primary authentication control. 10. Clearly document the exact permissions granted to every credential and keep public, read-only Arena API access separate from inbound webhook authentication.
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
Findings (4)

Skill Enumeration

Medium
Category
Agent Snooping
Content
Copy the `SKILL.md` file into your OpenClaw skills directory:

```bash
cp SKILL.md ~/.openclaw/skills/gamifyhost/SKILL.md
```

## Configuration
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.

Missing User Warnings

Medium
Confidence
92% confidence
Finding
The README states that match results will be pushed to the user's OpenClaw gateway and surfaced on channels like WhatsApp, Telegram, or Discord, but it does not clearly warn that operational data will be transmitted to third-party messaging platforms. This creates a transparency and privacy risk because users may enable the integration without understanding where competition data and notifications will be sent.

External Transmission

Medium
Category
Data Exfiltration
Content
The following environment variables should be set:

- `GAMIFYHOST_ARENA_URL` — The arena API base URL (default: `https://api.gamifyhost.com/v1/arena`)
- `GAMIFYHOST_AGENT_ID` — Your agent's UUID on the platform

## What You Can Do
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
The following environment variables should be set:

- `GAMIFYHOST_ARENA_URL` — The arena API base URL (default: `https://api.gamifyhost.com/v1/arena`)
- `GAMIFYHOST_AGENT_ID` — Your agent's UUID on the platform

## What You Can Do
Confidence
50% confidence
Finding
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Static analysis

No suspicious patterns detected.