T09 · Insecure Skill Coding Practices
- Location
tech-library.md:4- Finding
Insecure Storage and Exposure of External AI API Credentials
- Content
View full analysis
| | api_key | | | api_key | | ``` The invocation guide instructs users to insert the credential directly into a command-line argument: ```bash curl -s /v1/chat/completions \ -H "Content-Type: application/json" \ -H "Authorization: Bearer " \ -d '{ "model": "", "messages": [ {"role": "system", "content": ""}, {"role": "user", "content": ""} ], "max_tokens": 4096, "temperature": 0.7 }' ``` The response-processing example repeats the same credential-handling pattern: ```bash RESPONSE=$(curl -s -m 30 /v1/chat/completions \ -H "Content-Type: application/json" \ -H "Authorization: Bearer " \ -d "${REQUEST_BODY}") ``` ### Technical Analysis The documented configuration workflow encourages users to place live API credentials in `tech-library.md`, a plaintext file inside the Skill directory. Although the file warns against public commits, the project does not prescribe an environment-variable mechanism, secret manager, ignored configuration file, restrictive permissions, or automated secret detection. A warning alone does not prevent the credential from entering source-control history ...[truncated 2257 chars]- Remediation
View remediation
