T09 · Insecure Skill Coding Practices
- Location
SKILL.md:42- Finding
Hardcoded SkillHub Authentication Token
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This skill is a publishing guide, but it embeds real-looking credentials and tells agents to use them for external login, publishing, memory access, and document upload.
Do not install or use this skill as published. Treat the embedded tokens and API keys as compromised, rotate them, replace all credential values with placeholders, remove instructions to read MEMORY.md for secrets, and require explicit user approval before any external login, publish, or upload action.
SKILL.md:42Hardcoded SkillHub Authentication Token
SKILL.md:171Hardcoded IMA Client Credentials
SKILL.md:40Instructions Direct the Agent to Retrieve Secrets from Persistent Memory
SKILL.md:165External Document Upload Can Transmit Secrets Embedded in the Skill Body
SKILL.md:31Unpinned Global Installation of Third-Party CLI Packages
The file embeds a live-looking API token intended for reuse in authentication commands. This is a textbook secret disclosure with immediate account-compromise potential, especially dangerous in a skill because an agent may automatically copy and use it.
The document states that tokens and API keys must never appear in the publishable package, yet it contains real-looking credentials elsewhere in the same file. That contradiction normalizes unsafe secret handling and creates an immediate risk of credential disclosure if this file is shared, uploaded, indexed, or executed by an agent following the guide.
This section explicitly says the token must only come from MEMORY.md and must not be written into SKILL.md, but then discloses the token directly in SKILL.md. This is a direct secret exposure that can enable unauthorized access to the external SkillHub account or namespace.
The guide instructs agents to retrieve and use a secret from MEMORY.md during a real publishing workflow. Directing an agent to access and operationalize secrets is highly sensitive, and here it is compounded by the fact that the same secret is also disclosed in the document itself.
This section exposes an explicit token and pairs it with concrete login commands, making misuse straightforward. The absence of strong warnings or safeguards is particularly dangerous because the content is formatted as operational instructions that invite immediate execution.
This workflow instructs agents to authenticate with the disclosed token and publish externally. Even if the token were later invalidated, the pattern teaches unsafe behavior: autonomous external actions using embedded secrets with no verification or approval boundary.
The login and publish examples include a live-looking bearer token in command lines. Command examples are especially dangerous because users or agents may copy-paste them verbatim, causing credential reuse, logging, shell history exposure, and unauthorized publication activity.
The alternate CLI path repeats the same exposed token and instructs authentication against a real registry. Repetition increases the chance that agents or humans will treat the credential as approved for operational use, expanding the blast radius of the leak.
The later workflow repeats instructions to use the same token, reinforcing credential reuse and external action execution. Repeated secret-bearing steps increase the likelihood of accidental disclosure, copied misuse, and agent automation against real services.
The IMA archival example embeds a real-looking client ID and API key pair in source code. Publishing credentialed example code in documentation can directly enable unauthorized API use, data access, abuse of the service, and downstream compromise if the same credentials are reused elsewhere.
The IMA example discloses a real-looking client credential pair without protective handling guidance. In a skill document, such examples are especially risky because they can be scraped, copied into code, or invoked by automation against a live endpoint.
The display name and the entire operational guidance are presented solely in Chinese, and the document frames itself as a universal guide for 'any agent'. For a generally applicable skill, forcing a single language without opt-in or justification can violate language/locale policy expectations.
The summary encourages other agents to follow the guide directly, implying unconditional execution. Because the guide includes authentication and publication steps, this increases the risk of autonomous misuse or accidental deployment by agents lacking proper authorization.
Stating that any agent can execute the guide without consulting other materials creates an overly broad activation scope for a skill that performs external publication and credential use. In this context, broad invocation is dangerous because the document also includes secrets and operational steps that can trigger real-world changes.
The self-check warns against token leakage in dry-run output while the same file still contains exposed credentials. This inconsistency undermines the safety checklist and may cause operators to overlook the more obvious secret already embedded in the guide.
Detected: suspicious.exposed_secret_literal