T09 · Insecure Skill Coding Practices
- Location
SKILL.md:57- Finding
Broad Profile Cloning Can Unnecessarily Duplicate Credentials and Privileges
- Content
View full analysis
--clone-from --clone-all` - Switch the app/service to explicit env vars: `APP_HERMES_PROFILE=` `APP_HERMES_HOME=/root/.hermes/profiles/` - Keep secrets in the Hermes profile, not in app code. ``` The same unsafe cloning pattern is repeated at lines 112-115: ```markdown For embedded apps, avoid long-term dependency on a personal profile name if the app is its own agent. Create a dedicated profile: ```bash hermes profile create pokemon --clone-from chucky --clone-all ``` ``` ### Technical Analysis The Skill recommends creating an application-specific profile by using `--clone-all`. It also states that secrets should be retained in Hermes profiles. Taken together, these instructions may cause all profile contents—including unrelated credentials, tool access, configuration, and state—to be copied from a personal or general-purpose profile into a less trusted application or child-agent profile. A dedicated profile is not an effective least-privilege boundary if it inherits every secret and capability from its source. The new profile may only require one API credential and a small set of tools, but unrestricted cloning can grant access equivalent to the source profile. The issue does not demonstrate an intentional privilege-escalation mechanism in the package itself. It is an insecure configuration recommendation that can expand the consequences of a later compromise. ### Attack Path 1. An operator follows the Skill and clones a personal or broadly privileged profile with `--clone-all`. 2. The resulting profile is ...[truncated 938 chars]- Remediation
View remediation
