T09 · Insecure Skill Coding Practices
- Location
SKILL.md:228- Finding
Unrestricted Transmission of Sensitive Authentication Screenshots
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 228–228
Vulnerability Type: Sensitive information exposure through unrestricted screenshot transmission
Risk Level: MediumVulnerable Code Snippet:
text - Login failed → Screenshot and send to user for debuggingRelated authentication screenshot instructions also appear at lines 170 and 178:
text - Screenshot QR code to usertext QR: Screenshot to userTechnical Analysis
The error-handling instruction permits the agent to capture and transmit a failed login page through Telegram without requiring cropping, redaction, recipient verification, renewed user consent, or message deletion. Authentication pages may contain email addresses, account identifiers, OAuth request details, error diagnostics, QR login tokens, or other security-sensitive information.
The QR instructions are expected parts of the declared WeChat and QQ workflows, but they further demonstrate that live authentication artifacts may be sent through the messaging channel. A QR login token can act as a temporary bearer-like authentication artifact. Unrestricted full-page screenshots increase disclosure beyond the minimum information required to complete the workflow.
Attack Path
- A legitimate, compromised, or attacker-controlled authentication page displays sensitive account information, OAuth details, or a live QR token.
- The authentication attempt fails or invokes the QR workflow.
- The skill directs the agent to capture the displayed content.
- The screenshot is transmitted to the configured Telegram destination without mandatory redaction or destination verification.
- A person with access to the Telegram account, channel, notification preview, connected device, or message history obtains the exposed information.
- If the screenshot contains a still-valid QR token or similar authentication artifact, it may be used before expiration; ...[truncated 593 chars]
- Remediation
View remediation
Remediation Suggestions
- Remove the blanket instruction to screenshot failed login pages.
- Capture only the smallest necessary region instead of the entire page.
- Redact email addresses, account identifiers, OAuth parameters, tokens, cookies, passwords, 2FA values, and unrelated page content before transmission.
- Require explicit user confirmation immediately before sending any authentication screenshot.
- Verify that the Telegram recipient matches the user who initiated the login workflow.
- Treat QR codes as sensitive temporary credentials: send them only when necessary, prevent forwarding where supported, enforce short timeouts, and invalidate or refresh them after use.
- Delete sensitive messages after the workflow completes where the messaging platform permits it.
- For debugging, send a sanitized textual error summary or non-sensitive error code rather than a page screenshot.
- Add strict rules prohibiting screenshots whenever password, 2FA, recovery-code, session-token, or cookie data is visible.
