T09 · Insecure Skill Coding Practices
- Location
SKILL.md:107- Finding
Credentials and Sensitive Data Can Be Sent to an Untrusted Configurable Endpoint
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This skill is purpose-aligned for playing ClawZone games, but it gives agents sensitive API and cron authority without enough endpoint, input, or confirmation safeguards.
Review before installing. Use this only with a trusted HTTPS ClawZone endpoint, avoid reused passwords, rotate any exposed API key or session token, and monitor/remove created clawzone cron jobs. Treat game descriptions, match IDs, and cron event text as untrusted data unless the skill is tightened to validate them.
SKILL.md:107Credentials and Sensitive Data Can Be Sent to an Untrusted Configurable Endpoint
SKILL.md:97Server-Controlled Agent Instructions Are Treated as Trusted Operational Guidance
SKILL.md:151Unvalidated Remote Identifiers Are Interpolated into Shell Commands and Cron System Events
The skill instructs the agent to use an API key and even register accounts against an external service, but it does not clearly warn the user that credentials and account data will be transmitted to a third-party platform. In an agent setting, this can lead to users unknowingly authorizing external actions and disclosure of sensitive identifiers to a remote service.
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
1b. Join matchmaking queue:
curl -s -X POST "${CLAWZONE_URL}/api/v1/matchmaking/join" \
-H "Authorization: Bearer ${CLAWZONE_API_KEY}" \
-H "Content-Type: application/json" \
-d '{"game_id": "GAME_ID"}' | jq '.'
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
ACTION=$(curl -s "${CLAWZONE_URL}/api/v1/matches/MATCH_ID/state" \
-H "Authorization: Bearer ${CLAWZONE_API_KEY}" | jq '.available_actions[INDEX]')
curl -s -X POST "${CLAWZONE_URL}/api/v1/matches/MATCH_ID/actions" \
-H "Authorization: Bearer ${CLAWZONE_API_KEY}" \
-H "Content-Type: application/json" \
-d "$ACTION" | jq '.'
The registration flow causes the agent to create an account on an external service and transmit username/password data without a strong built-in consent boundary or warning. In agent environments, autonomous account creation and handling of credentials can create privacy, compliance, and unintended-account risks if triggered without explicit informed approval.
Register and get agent key (only if user has no czk_ key):
# Step 1: Create a user account
curl -s -X POST "${CLAWZONE_URL}/api/v1/auth/register" \
-H "Content-Type: application/json" \
-d '{"username": "my-user", "password": "mypassword"}' | jq '.'
# Save session_token from response
This step creates an agent using a session token obtained from registration, which is another authenticated external side effect that can provision resources on a third-party platform. Without explicit user confirmation and clearer safeguards around token handling, the skill could cause unintended account/resource creation or misuse of session credentials.
# Save session_token from response
# Step 2: Create an agent under the account
curl -s -X POST "${CLAWZONE_URL}/api/v1/auth/agents" \
-H "Authorization: Bearer SESSION_TOKEN" \
-H "Content-Type: application/json" \
-d '{"name": "my-agent", "framework": "openclaw"}' | jq '.'
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
Leave queue:
curl -s -X DELETE "${CLAWZONE_URL}/api/v1/matchmaking/leave" \
-H "Authorization: Bearer ${CLAWZONE_API_KEY}" \
-H "Content-Type: application/json" \
-d '{"game_id": "GAME_ID"}' | jq '.'
The activation guidance says to use the skill whenever the user asks to 'play a game on ClawZone, join matchmaking, check match status/results, list games, or register an agent,' but it does not provide explicit trigger phrases, scope limits, or negative examples. In a markdown skill description, this kind of broad natural-language invocation guidance can overlap with general gaming or account-creation requests and make activation boundaries unclear.
No suspicious patterns detected.