T09 · Insecure Skill Coding Practices
- Location
SKILL.md:38- Finding
Plaintext API Credential Exposed in Skill Documentation
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, line 38
Vulnerability Type: Hardcoded secret / plaintext credential exposure
Risk Level: HighVulnerable Code
markdown - API Key: sk_93c5ff38cc3e6112623d361fffcc5d1eb1b5844eac9c40043b57c0e08f91430eTechnical Analysis
A secret-shaped API key is embedded directly in the Skill documentation. Any person, process, or agent that can read the project can recover the credential without authentication. Documentation files are commonly committed to source control, distributed with packaged Skills, included in archives, and loaded into agent contexts, significantly increasing the exposure surface.
Static review cannot establish whether the key is currently active or identify its provider and permissions. Nevertheless, storing a credential-like value in plaintext violates secure secret-management practices and must be treated as a credential compromise.
Attack Path
- An attacker obtains read access to the repository, distributed Skill package, build artifact, agent context, or source-control history.
- The attacker opens
SKILL.mdand copies the plaintext API key from line 38. - The attacker identifies or already knows the service associated with the key.
- If the credential remains valid, the attacker submits authenticated requests using it.
- The attacker consumes the account's quota or paid resources within the permissions and limits assigned to the credential.
Impact Assessment
If valid, the exposed key may permit unauthorized access to its associated API. The exact privileges cannot be determined from the audited files and are bounded by the credential's server-side permissions. Potential consequences include unauthorized API operations, quota exhaustion, billing charges, service disruption, and access to data available to that credential.
This finding does not demonstrate host-system privilege escalation, persistence, or arbitrar ...[truncated 17 chars]
- Remediation
View remediation
Remediation Suggestions
- Revoke the exposed credential and issue a replacement; deletion from the current file alone is insufficient.
- Remove the value from the repository and, where feasible, purge it from source-control history and previously distributed artifacts.
- Store the replacement in a managed secret store or runtime environment variable rather than source code or documentation.
- Replace the documented value with a clearly nonfunctional placeholder, such as
YOUR_API_KEY. - Grant the replacement credential only the minimum required permissions and apply usage, spending, origin, or network restrictions supported by the provider.
- Review provider access and billing logs for unauthorized use and rotate any related credentials if compromise is suspected.
- Add automated secret scanning to pre-commit hooks and CI pipelines to prevent recurrence.
