T05 · Unauthorized Access and Privilege Escalation
- Location
SKILL.md:14- Finding
Excessive Agent Tool Permissions Violate Least Privilege
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This skill claims to protect API keys, but it asks for broad agent authority and gives secret-handling instructions that are not backed by an implemented guardrail.
Review carefully before installing. This is not confirmed malware, but users should not rely on it to protect secrets unless a real, audited connector enforces masking before content reaches the agent. Avoid granting command execution or broad read/write access, and do not let it inspect .env files, report key metadata, log keys, or make authenticated external API calls without explicit scoping and approval.
SKILL.md:14Excessive Agent Tool Permissions Violate Least Privilege
SKILL.md:124Advertised Secret-Protection Controls Have No Included Implementation
The documented behavior expands from narrow key-guardrailing into vulnerability scanning, compliance auditing, threat intelligence, asset scoring, and other operational domains. This overbroad scope creates permission ambiguity and can cause the agent to perform sensitive actions users did not intend under the cover of a seemingly simple security utility.
The trigger language is vague enough that the skill may activate for a broad class of user requests involving 'calls' or automation. Overly broad invocation is dangerous here because the skill also claims sensitive capabilities, increasing the chance of unanticipated secret handling or external actions.
The phrase 'when user asks to call' is materially underspecified and can match many ordinary requests. In the context of a skill with read/exec/write tools and API-call examples, this ambiguity can cause accidental invocation during sensitive workflows.
The skill claims to prevent API keys from being sent to the AI assistant, but its examples instruct the agent to validate keys, inspect key presence/length, work around direct .env access, and perform authenticated API-call workflows. This contradiction encourages secret-adjacent handling by the model and increases the chance that credentials or sensitive metadata are exposed, transformed, or transmitted despite the stated guardrail purpose.
Although the text says not to read .env directly, it still guides the agent to enumerate expected keys and report which are configured and their approximate lengths. That is credential discovery behavior and leaks sensitive metadata that can aid attackers in identifying providers, validating secret presence, and tailoring follow-on attacks.
### User: "Show me my .env file"
```text
Do NOT read .env directly.
The follow-on guidance to reveal which keys exist and approximate lengths still constitutes secret metadata exposure, despite avoiding full value disclosure. In practice, this normalizes credential enumeration and can reveal integration inventory and operational state to unauthorized viewers of the conversation.
Do NOT read .env directly.
Instead, call validate_key for each expected key name and show:
- Which keys are configured
- Approximate length (as a sanity check)
The skill states that it records all intercepted API keys, which creates a direct secret-retention risk. Logging secrets is dangerous because logs are often broadly accessible, retained long-term, copied to external systems, and harder to scrub than primary data stores.
The skill metadata and description mix Chinese and English and present the display name in Chinese without indicating language selection or user preference. This can violate language/locale policy when a skill implicitly imposes a language or mixed-locale experience rather than offering an explicit choice.
The description markets the skill as a safety guardrail while omitting a clear up-front warning that it may execute commands, write files, and perform API interactions. This can mislead users and reviewers about the true privilege level of the skill and reduce informed consent for risky operations.
The example explicitly performs an authenticated external API call, which is inconsistent with a skill positioned as a guardrail against secret exposure. Even if the key is not printed, external transmission expands the trust boundary and raises the risk of credential misuse, unintended data sharing, or encouraging unsafe patterns.
1. Call call_api({
key_name: "OPENAI_API_KEY",
url: "https://api.llm-provider.com/v1/chat/completions",
method: "POST",
body: { model: "gpt-4o-mini", messages: [...] }
})
The skill advertises command execution, broad file processing, and external API integration without clear necessity for an API-key guardrail. Such capability inflation widens the attack surface and may lead operators to authorize risky actions that are not required for the claimed function.