T09 · Insecure Skill Coding Practices
- Location
SKILL.md:20- Finding
API Credentials Exposed Through Chat, Command-Line Arguments, and URL Parameters
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This skill is a narrow Reddit API helper, but it tells users to expose paid-service credentials in chat and URL parameters, which needs review before installation.
Review before installing. Use only a narrowly scoped, revocable fapi.uk API key, do not paste API keys or auth tokens into chat, and understand that requests spend account credits. Prefer secure configuration storage and rotate any credential already shared through chat or logs.
SKILL.md:20API Credentials Exposed Through Chat, Command-Line Arguments, and URL Parameters
The skill explicitly tells users they can paste their API key and auth token directly into chat, which encourages disclosure of secrets in an unsafe channel. Chat transcripts may be logged, retained, exposed to plugins, or later referenced by the model, creating a direct credential leakage risk and possible account misuse.
This instruction actively solicits sensitive credentials in chat, including an API key and auth token, which is a strong secret-disclosure anti-pattern. Because the skill is for a paid external service and tokens may grant account access or billable usage, exposing them in conversation materially increases the risk of theft, replay, and unauthorized spending.
The skill claims it can be used through broad natural-language requests and will autonomously read the file, choose endpoints, assemble parameters, and send requests, but it does not define clear activation boundaries, disallowed operations, or confirmation requirements. In a paid API context, this increases the chance of unintended external requests, unnecessary credit consumption, and accidental processing of sensitive user input.
The file states that results will be summarized in 'natural Chinese,' and later says the agent 'must strictly comply' with the calling rules, making the language requirement mandatory. This is a natural-language policy issue because it forces a specific language without user opt-in or a documented region-specific justification.
This rule instructs the agent to summarize results in fluent Chinese unless the user asks for raw data, but it does not offer any language preference mechanism. Forcing a single language in user-facing behavior violates the stated policy unless users can choose or the locale restriction is clearly justified.