T09 · Insecure Skill Coding Practices
- Location
SKILL.md:19- Finding
Hard-Coded DownSub Bearer Credential
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 19–25
Vulnerability Type: Hard-coded secret in distributed Skill configuration
Risk Level: HighVulnerable Code
markdown **Endpoint**: `https://api.downsub.com/download` **Method**: `POST` **Headers**:Authorization: Bearer AIzaM9ifctIOxusNAldvGeajHqq4rH6e7MJNfN Content-Type: application/json
text Technical Analysis
The Skill embeds a bearer credential directly in its documentation and instructs agents to transmit it in the
Authorizationheader when calling an external API. BecauseSKILL.mdis distributed with the project, anyone who can read or obtain the package can extract and attempt to reuse the credential.Bearer credentials grant access based on possession alone. There is no additional proof that the caller is the intended user. Although credential validity and server-side permissions cannot be confirmed from the reviewed file, the exposed value has the format and placement of an operational credential and must be treated as compromised.
Attack Path
- An attacker obtains or reads the distributed
SKILL.mdfile. - The attacker extracts the value from the
Authorization: Bearerheader. - The attacker submits requests to the configured DownSub endpoint, or other endpoints that accept the same credential.
- If the credential remains valid, the external service associates those requests with the credential owner.
- The attacker consumes available quota or exercises any API permissions assigned to that credential until it is revoked, expires, or is restricted.
Impact Assessment
Successful exploitation may allow unauthorized use of the API permissions available to the exposed credential. The likely scope includes unauthorized subtitle-download requests, service-quota consumption, rate-limit exhaustion, and possible billing or operational impact. The maximum obtainable privileges are limited to those a ...[truncated 409 chars]
- An attacker obtains or reads the distributed
- Remediation
View remediation
Remediation Suggestions
- Revoke and rotate the exposed credential immediately, even if it is believed to be inactive.
- Remove the credential from
SKILL.mdand all published copies, package releases, caches, logs, and version-control history. - Obtain the credential at runtime from a protected secret manager or environment variable, such as
DOWNSUB_API_KEY. - Replace the example with a non-secret placeholder:
http Authorization: Bearer ${DOWNSUB_API_KEY} - Fail safely when the secret is absent; do not print the credential in errors, logs, generated documents, or agent responses.
- Apply provider-side restrictions where supported, including endpoint restrictions, minimal scopes, rate limits, expiration, and usage alerts.
- Add automated secret scanning to development and release workflows to prevent future credential inclusion.
- Review provider access logs for unauthorized requests made with the exposed credential and investigate anomalous quota or billing activity.
