T09 · Insecure Skill Coding Practices
- Location
SKILL.md:52- Finding
Telegram Authentication QR Credential Exposed Through Logs and Predictable Temporary Storage
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This skill mostly documents a Telegram QR login workaround, but it also asks users to share access tokens and handles login QR codes in ways that could expose accounts.
Install only if you are comfortable auditing and correcting the workflow first. Do not send GitHub PATs, ClawHub tokens, Telegram QR login URLs, or QR images to an assistant or chat. If using the Telegram portion, generate and display the QR locally, store session files privately, delete temporary QR artifacts, and avoid the unrelated publishing instructions.
SKILL.md:52Telegram Authentication QR Credential Exposed Through Logs and Predictable Temporary Storage
SKILL.md:90Authentication QR Is Transmitted Through a Messaging Channel Without Recipient Validation
SKILL.md:122Unnecessary GitHub Personal Access Token Collection and Exposure
SKILL.md:35Unpinned Python Dependencies Installed Without Integrity Verification
SKILL.md:140Unpinned Global ClawHub Installation and Command-Line Token Exposure
Mixing characters from multiple Unicode scripts in a single identifier is a common technique to create visually ambiguous tool names.
Mixing characters from multiple Unicode scripts in a single identifier is a common technique to create visually ambiguous tool names.
The skill tells users to create a GitHub personal access token and send it to the operator, which is a direct credential-sharing anti-pattern. An operator with that token can act on the user's GitHub account within the granted scope, and users are not warned about the sensitivity, alternatives, or least-privilege handling.
The instructions explicitly direct the user to obtain and hand over a GitHub PAT for the assistant/operator to use. This is dangerous because it normalizes transfer of reusable authentication secrets to a third party, enabling unauthorized repository/gist actions and possible downstream account compromise within token scope.
The description, headings, instructions, and examples are presented entirely in Chinese, but the skill does not state that it is intended only for Chinese-speaking users or offer an alternative language. Under the language/locale policy, forcing a specific language without user opt-in can be a natural-language policy violation.
The skill significantly expands beyond Telegram QR-login troubleshooting into dialogue cleanup and publishing workflows, increasing the operational scope and the chance users are steered into unrelated sensitive actions. Scope creep is dangerous here because the added sections introduce credential handling and external publication steps that are not necessary for solving the stated Telegram login problem.
The publication guidance introduces token use, external API calls, and third-party platform authentication that are unrelated to the declared purpose of resolving PHONE_CODE_EXPIRED. This broadens the attack surface and can lead users to disclose credentials or transmit content externally without necessity, making the skill materially more dangerous than its stated function suggests.
The skill instructs external transmission to GitHub's API in conjunction with a user-provided token, which creates a data egress path not required for Telegram QR-login troubleshooting. In context this is risky because it couples outbound transmission with credential use and encourages publishing content to a third-party service for unrelated reasons.
用户去 https://github.com/settings/tokens/new 创建 PAT(勾 gist scope),发给你后用 curl 直接调用 GitHub API:
curl -s -X POST "https://api.github.com/gists" \
Referencing the GitHub API endpoint itself is not inherently dangerous, but in this context it is part of an unnecessary external publication flow that uses user credentials. The danger comes from combining third-party transmission with PAT-based authorization in a skill whose stated purpose is unrelated to GitHub publishing.
用户去 https://github.com/settings/tokens/new 创建 PAT(勾 gist scope),发给你后用 curl 直接调用 GitHub API:
curl -s -X POST "https://api.github.com/gists" \
-H "Authorization: token <PAT>" \
-H "Content-Type: application/json" \
-d '{
No suspicious patterns detected.