T09 · Insecure Skill Coding Practices
Error
- Location
- SKILL.md:47
- Finding
- Plaintext Account Credentials Embedded in Skill Documentation## Vulnerability Details **File Location**: `SKILL.md`, lines 47–49, 57–60, and 99–101 **Vulnerability Type**: Hardcoded credentials and plaintext sensitive data **Risk Level**: High ### Vulnerable Code ```markdown ### Login Information - **Website**: https://www.qqthj.com - **Username**: 13327325057 - **Password**: 1234567890 ``` The credentials are also repeated in the login procedure: ```markdown | 1 | Open website | URL: https://www.qqthj.com | 2-3 seconds | | 2 | Click login | "Login" button in the upper-left corner | 1 second | | 3 | Enter username | 13327325057 | - | | 4 | Enter password | 1234567890 | - | | 5 | Click login | Submit button | 1-2 seconds | ``` They appear again as default parameters: ```markdown | Username | 13327325057 | Login account | Mobile number | | Password | 1234567890 | Login password | - | ``` ### Technical Analysis `SKILL.md` stores an apparent mobile-number account identifier and its reusable password in plaintext. Anyone who can read the project, a copied Skill package, an Agent transcript containing the Skill, or an artifact generated from the repository can recover these credentials without further exploitation. The documented workflow instructs the Agent to submit these values to `https://www.qqthj.com`, demonstrating that they are intended as operational credentials rather than placeholders. Repetition across several sections further increases the chance of disclosure through logs, generated prompts, documentation extracts, or repository mirrors. Hardcoded credentials cannot be securely scoped to individual operators, are difficult to rotate without changing the distributed artifact, and prevent reliable attribution when multiple Skill users authenticate through the same account. ### Attack Path 1. An attacker obtains read access to the Skill package, repository copy, audit artifact, or content derived from `SKILL.md`. 2. The attacker reads the plainte ...[truncated 1229 chars]
- Remediation
- ## Remediation Suggestions 1. Remove all usernames, passwords, phone numbers used as account identifiers, and other operational secrets from `SKILL.md`. 2. Immediately rotate the exposed password and revoke active sessions or tokens associated with the account. 3. Retrieve credentials at runtime from an approved secret manager or request them through a secure interactive mechanism. 4. Pass secret references rather than secret values in configuration; for example, use environment-variable names or secret-manager identifiers. 5. Ensure runtime logs, Agent transcripts, exported artifacts, and error messages redact usernames, passwords, session cookies, and authentication tokens. 6. Use separate least-privilege accounts for individual users or workloads instead of distributing a shared account. 7. Enable multi-factor authentication where the target service supports it. 8. Review repository history, mirrors, build artifacts, and prior distributions for the exposed credentials. Purge them where practical, while treating rotation as mandatory because deleting current-file content does not invalidate historical copies. 9. Add automated secret scanning to pre-commit and CI workflows to prevent future credential commits. 10. Replace the documented values with clearly nonfunctional placeholders, such as `${QQTHJ_USERNAME}` and `${QQTHJ_PASSWORD}`.
