T09 · Insecure Skill Coding Practices
Warning
- Location
- SKILL.md:11
- Finding
- Hard-Coded Shared Authentication Credentials## Vulnerability Details **File Location**: `SKILL.md`, lines 11 and 135 **Vulnerability Type**: Hard-coded plaintext credentials **Risk Level**: Medium ### Vulnerable Snippets `SKILL.md`, line 11: ```text 1. 登录系统(editor/123456) ``` `SKILL.md`, line 135: ```text 4. 登录凭据为 editor/123456(系统可能已自动登录) ``` The snippets state that the login credentials are `editor/123456`. ### Technical Analysis A reusable skill document embeds a username and password directly in plaintext. Anyone with access to the skill package, an agent transcript, generated logs, or copied documentation can recover these credentials without additional authorization. Although the workflow identifies a public demonstration site, the skill does not technically restrict use of the credentials to that host. The credentials could therefore be attempted against other accessible vue-element-admin deployments that retain the same default or reused account configuration. Embedding credentials in agent instructions also unnecessarily exposes them to every component that processes the skill text. ### Attack Path 1. An attacker obtains `SKILL.md` or an execution transcript containing its instructions. 2. The attacker extracts the plaintext credentials `editor/123456`. 3. The attacker locates the referenced demo application or another reachable deployment with the same account configuration. 4. The attacker submits the recovered credentials to the application's login interface. 5. If authentication succeeds, the attacker operates with the permissions assigned to the `editor` account, including any table viewing or editing capabilities exposed to that role. ### Impact Assessment Successful exploitation can provide authenticated access at the `editor` role level. Within the documented workflow, that may include viewing table records, opening record details, changing record importance values, and exporting accessible data. The finding does not demonstra ...[truncated 273 chars]
- Remediation
- ## Remediation Suggestions 1. Remove the plaintext password from `SKILL.md` and all examples, comments, and operational notes. 2. Obtain authentication data at runtime through an approved secret manager or explicit authorized user input. 3. Pass credentials through protected runtime variables rather than embedding them in prompts or source-controlled files. 4. Restrict the workflow to an explicit allowlist containing the intended demonstration hostname. 5. Refuse to submit demonstration credentials to redirects, alternate origins, or user-supplied hosts. 6. Rotate or disable the documented password wherever the account is not intentionally public. 7. Use a dedicated least-privileged demonstration account whose permissions and data access are limited to disposable test content. 8. Prevent secrets from appearing in browser traces, agent transcripts, telemetry, screenshots, and error logs. 9. Add a warning that example credentials must never be reused for production or private deployments.
