T09 · Insecure Skill Coding Practices
- Location
SKILL.md:32- Finding
Unsafe Plaintext Storage of API Credentials in TOOLS.md
- Content
View full analysis
in the browser for the user 2. Ask them to sign up (free) and paste the API key 3. Store it: `export ACE_MUSIC_API_KEY=` or add to TOOLS.md ``` ### Technical Analysis The setup instructions explicitly offer `TOOLS.md` as a storage location for the ACE Music API key. This is an agent-readable plaintext documentation file rather than a dedicated secret store. Such files may be committed to source control, copied into backups, included in diagnostic output, indexed by development tools, or loaded into an AI agent's context. Storing the key in a process environment variable is generally appropriate when combined with secure process and logging practices. The alternative recommendation to add it to `TOOLS.md`, however, unnecessarily increases credential exposure and exceeds the minimum data access needed to generate music. The Skill also instructs clients to transmit the credential in an HTTPS `Authorization` header and send music prompts, lyrics, or audio to `https://api.acemusic.ai`. That network communication is necessary for the declared hosted music-generation functionality and no unrelated destination was identified. Nevertheless, the API key and submitted content remain sensitive data entrusted to a third-party service. ### Attack Path 1. A user follows the Skill's setup instructions and writes a valid ACE Music API key into `TOOLS.md`. 2. The file is subsequently committed to a repository, shared with collaborators, included in a support bundle, exposed through logs, or loaded into an agent or tool context. 3. An unauthorized party retrieves the plaintext API key from that location. 4. The party submits authenticated requests to the ACE Music API u ...[truncated 1033 chars]- Remediation
View remediation
