T09 · Insecure Skill Coding Practices
- Location
SKILL.md:54- Finding
Authentication Tokens Exposed Through Standard Output
- Content
View full analysis
` or the stolen co ...[truncated 613 chars]- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This SMS login skill matches its stated purpose, but it handles phone numbers, SMS codes, cookies, and tokens with weak endpoint disclosure and a command that can expose full session credentials.
Install only if you trust and control the configured SMS_LOGIN_BASE_URL endpoint. Before use, require HTTPS on an approved host, avoid printing raw login responses or cookie jars, redact tokens from all output, and make users explicitly confirm that their phone number and SMS code will be sent to that service.
SKILL.md:54Authentication Tokens Exposed Through Standard Output
SKILL.md:11Sensitive SMS Authentication Data May Be Sent to an Untrusted or Plaintext Endpoint
The skill metadata hard-codes an external host/IP and declares it as the primary environment for authentication operations, which means sensitive phone-login data may be transmitted to a remote endpoint without any trust, ownership, or transport-security assurances in the documentation. Using a raw IP and port for an auth service raises additional concern because it bypasses recognizable domain validation and gives no indication of TLS, certificate validation expectations, or data-handling guarantees.
openclaw:
requires:
bins:
- curl
- jq
env:
- 180.184.28.174:30080
The activation guidance is broad enough to trigger on common account-related requests such as phone login or registration, which can cause the agent to invoke a sensitive authentication workflow without sufficiently narrow scoping or confirmation. Because this skill handles phone numbers, one-time codes, tokens, and session cookies, overbroad triggering increases the chance of unnecessary collection or transmission of sensitive data.
The skill directs the agent to transmit highly sensitive authentication data, including phone numbers, verification codes, tokens, and cookies, but does not require an explicit user-facing privacy and security warning before doing so. This is dangerous because users may not understand that their credentials and session artifacts are being sent to an external service, increasing privacy, account-takeover, and consent risks.
The login step sends a phone number and one-time verification code to an external endpoint and captures cookies, directly handling authentication secrets and session material. In this context, external transmission is especially dangerous because compromise, misdirection, logging, or interception of these values could enable account access or session hijacking.
向用户索要短信中的验证码后,发起登录:
curl -s -c - -X POST "${SMS_LOGIN_BASE_URL}/api/v1/auth/phone/login" \
-H "Content-Type: application/json" \
-d '{"phone": "'"${PHONE}"'", "code": "'"${CODE}"'"}' | jq .