T09 · Insecure Skill Coding Practices
Error
- Location
- SKILL.md:15
- Finding
- Hard-Coded SSH Credentials for Network Infrastructure## Vulnerability Details **File Location**: `SKILL.md`, lines 15-23 **Vulnerability Type**: Hard-coded plaintext credentials **Risk Level**: High ### Vulnerable Configuration ```text S7703S core switch - Management address: 192.168.255.253 - Username: openclaw - Password: openclaw@2026 AR6280-S router - Management address: 192.168.255.254 - Username: openclaw - Password: openclaw@2026 ``` ### Technical Analysis The Skill embeds reusable SSH usernames and passwords for two network infrastructure devices directly in its documentation. Any user, process, archive, log, source repository, or distribution system with access to the Skill can recover these credentials without additional authorization. The same account and password are reused on both devices, increasing the scope of a single credential disclosure. Although the documented inspection commands are read-only, the actual privileges granted to the `openclaw` account are not established by the reviewed file. An attacker can execute any operations permitted by the device-side account rather than being limited to the commands documented by the Skill. ### Attack Path 1. An attacker obtains access to the Skill package, a repository copy, an artifact archive, or output containing `SKILL.md`. 2. The attacker extracts the management addresses, username, and plaintext password. 3. The attacker obtains network access to the `192.168.255.0/24` management segment or another route capable of reaching the disclosed addresses. 4. The attacker initiates SSH connections to `192.168.255.253` and `192.168.255.254`. 5. The attacker authenticates using the exposed `openclaw` credentials. 6. The attacker enumerates device information and executes any commands authorized for that account. ### Impact Assessment Successful exploitation provides authenticated access to a core switch and router, subject to the permissions assigned to the exposed account. Potential consequences include: - Disclosure of firmware, topology, har ...[truncated 557 chars]
- Remediation
- ## Remediation Suggestions 1. Immediately rotate the exposed password on both devices and invalidate all copies of the disclosed credential. 2. Use a unique account and credential for each device to prevent compromise from spreading between systems. 3. Remove usernames and passwords from `SKILL.md`, source control, package archives, examples, logs, and generated reports. 4. Retrieve credentials at runtime from an approved secret manager or protected credential store. 5. Do not pass secrets through command-line arguments or environment mechanisms that can be exposed to unrelated processes. 6. Configure dedicated inspection accounts with read-only permissions limited to the required `display` commands. 7. Restrict SSH access using management VLAN controls, firewall rules, source-address allowlists, and administrative jump hosts. 8. Prefer key-based authentication backed by protected private keys where supported. 9. Review authentication logs for use of the exposed account and investigate unexpected source addresses or commands. 10. Add automated secret scanning to repository and package publication workflows.
