T05 · Unauthorized Access and Privilege Escalation
- Location
SKILL.md:14- Finding
Unnecessary Exposure of Sensitive Credentials
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 14–20
Vulnerability Type: Excessive credential access violating least privilege
Risk Level: Mediumyaml credentials: [AGENT_SIGNING_KEY, GREENHELIX_API_KEY] metadata: openclaw: requires: env: - AGENT_SIGNING_KEY - GREENHELIX_API_KEY primaryEnv: AGENT_SIGNING_KEYTechnical Analysis
The skill declares
AGENT_SIGNING_KEYandGREENHELIX_API_KEYas required credentials and identifies the signing key as its primary environment credential. However, the package contains only a descriptive Markdown file, is markedexecutable: false, requires no installation, and includes no implementation that uses either secret.Requiring sensitive credentials without demonstrated functional need violates the principle of least privilege. If the hosting platform resolves these declarations by making the named environment variables available to the loaded skill or a related execution context, sensitive signing and API credentials could be exposed unnecessarily.
No executable code, transmission endpoint, or credential-exfiltration mechanism is present in the audited package. Therefore, this finding establishes unnecessary credential access rather than confirmed theft or exfiltration.
Attack Path
- A user installs or loads the skill in a compatible host.
- The host processes the credential requirements declared in
SKILL.md. - The user or host supplies
AGENT_SIGNING_KEYandGREENHELIX_API_KEY. - The credentials become available to the skill context despite the package having no documented or implemented need for them.
- If untrusted functionality is later added to the package or the credential-bearing context is otherwise compromised, the unnecessarily exposed secrets could be accessed and abused.
This path depends on the host supplying declared credentials to the skill context. The current package itself ...[truncated 638 chars]
- Remediation
View remediation
Remediation Suggestions
- Remove the
credentialsdeclaration because the current package is non-executable and does not use credentials. - Remove
metadata.openclaw.requires.envandmetadata.openclaw.primaryEnv. - If future executable functionality genuinely requires authentication, request only the minimum necessary credential at the point of use.
- Avoid designating a private signing key as a general-purpose primary environment credential.
- Document each credential's exact purpose, required permission scope, recipient service, and lifecycle.
- Use narrowly scoped, revocable credentials rather than long-lived or broadly privileged keys.
- Ensure the host does not expose secrets to documentation-only or non-executable skills.
- Add automated manifest validation that rejects unused credential declarations.
- Remove the
