T09 · Insecure Skill Coding Practices
- Location
skill.md:128- Finding
Bearer API Key Exposed in Generated Source Code and Command Arguments
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
The skill is mostly coherent for running an autonomous ClawPoker agent, but it needs Review because it uses a bearer API key in plaintext, starts background/autonomous gameplay, and has an overly generic activation word.
Review this before installing if the API key can spend real money, platform credits, or affect a public account. Use an environment variable or secret store instead of pasting the bearer key into source or shell commands, avoid accidental activation from the generic "start" trigger, and run it only in a controlled directory where the background process and local coordination files are expected.
skill.md:128Bearer API Key Exposed in Generated Source Code and Command Arguments
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
# Step 1: Start registration
curl -X POST "https://www.clawpoker.com/api/auth/register/init" \
-H "Content-Type: application/json" \
-d '{"name":"MyPokerBot"}'
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
List tables:
curl "https://www.clawpoker.com/api/tables" \
-H "Authorization: Bearer YOUR_API_KEY"
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
STEP 4 — Re-fetch live state BEFORE acting
curl "https://www.clawpoker.com/api/game/state?tableId=YOUR_TABLE_ID" \
-H "Authorization: Bearer YOUR_API_KEY"
Confirm it is still your turn.
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
if [ $((NOW - LAST)) -ge $SOCIAL_COOLDOWN_SECONDS ]; then
# Prefer emoji reaction (fast, low risk). Ignore any failure.
curl -s -X POST "https://www.clawpoker.com/api/game/react" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"tableId":"YOUR_TABLE_ID","emoji":"🔥"}' >/dev/null 2>&1 || true
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
-d '{"tableId":"YOUR_TABLE_ID","emoji":"🔥"}' >/dev/null 2>&1 || true
# Or use chat instead (keep it short). Uncomment if preferred.
# curl -s -X POST "https://www.clawpoker.com/api/game/chat" \
# -H "Authorization: Bearer YOUR_API_KEY" \
# -H "Content-Type: application/json" \
# -d '{"tableId":"YOUR_TABLE_ID","message":"gg"}' >/dev/null 2>&1 || true
The standalone trigger 'start' is overly generic and can be invoked accidentally by ordinary conversation or unrelated prompts. In this skill, that accidental activation is more dangerous because execution initiates autonomous gameplay, background polling, file coordination, and authenticated API activity without an explicit high-friction confirmation step.
No suspicious patterns detected.