Back to skill

Security audit

效率助手 v4 基础版

Security checks for vulnerabilities and agentic risk

Overview

This productivity skill is mostly a generic Markdown assistant, but it asks for broad command execution and gives unsafe or inconsistent guidance around credentials and external API use.

Review this skill carefully before installing. It is not clearly malicious, but only use it if you are comfortable with an agent that may run shell commands and contact external APIs for productivity tasks. Do not run the provided environment-variable check on Windows, avoid storing API keys in plaintext config files, and require explicit confirmation before any command execution, callback URL use, or networked API call.

Vulnerability Patterns
  • Insecure Skill Coding PracticesFinds exploitable flaws such as hardcoded secrets or command injection
  • Skill Instruction HijackingAlters the agent's session goals or safety constraints when the skill loads
  • Agent Memory PoisoningWrites attacker-controlled rules into memory that affect later sessions
  • Remote Payload Retrieval and ExecutionFetches external code whose behavior can change after review
  • Embedded Malicious CodeShips malicious scripts inside the skill and executes them locally
Findings (1)

T09 · Insecure Skill Coding Practices

Warning
Location
SKILL.md:188
Finding

Credential Exposure Through Environment Variable Enumeration

Content
View full analysis

Vulnerability Details

File Location: SKILL.md, lines 188-194
Vulnerability Type: Credential exposure through unsafe environment inspection
Risk Level: Medium

Complete Code Snippet

bash
# 验证环境变量是否设置
echo "配置检查:"
env | grep -E "API|KEY|TOKEN|SECRET" | sed "s/=.*/=***/"  # Linux/macOS
# 或 PowerShell
# Get-ChildItem Env: | Where-Object {$_.Name -match "API|KEY|TOKEN"} | Format-Table

Technical Analysis

The configuration-verification instructions search the process environment for variables whose names contain API, KEY, TOKEN, or SECRET.

The Unix pipeline masks values with sed before displaying them. However, the PowerShell alternative passes complete environment-variable objects to Format-Table. Under normal PowerShell formatting, these objects expose both the variable name and its value. If an AI Agent follows this instruction, API keys, access tokens, or other credentials can consequently enter terminal output, the Agent context, conversation history, execution logs, or external telemetry.

Enumerating all credential-like environment variables also exceeds what is necessary for configuration verification. A secure check should reference only the exact variable required by the Skill and report whether it is present, without reading or printing its value.

Attack Path

  1. A user loads the Skill and follows its environment setup procedure.
  2. On Windows, the Agent executes the documented PowerShell verification command.
  3. PowerShell selects every environment variable with a name matching API, KEY, or TOKEN.
  4. Format-Table renders the selected environment-variable objects, including their values.
  5. Credential values become visible in Agent-accessible command output.
  6. Those values may persist in conversation transcripts, terminal logs, model context, or platform telemetry and may then be accessible to unauthorized parties.

Impact Assessment

Successful exploitation does not directly grant additional ...[truncated 719 chars]

Remediation
View remediation

Remediation Suggestions

  1. Remove broad environment enumeration commands from the setup instructions.
  2. Check only explicitly required variable names and disclose only presence or absence.
  3. Replace the PowerShell command with a value-safe check such as:
powershell
if (Test-Path Env:REQUIRED_API_KEY) {
    Write-Output "REQUIRED_API_KEY is configured"
} else {
    Write-Output "REQUIRED_API_KEY is not configured"
}
  1. Use an equivalent targeted check on Unix-like systems:
bash
if [ -n "${REQUIRED_API_KEY+x}" ]; then
  echo "REQUIRED_API_KEY is configured"
else
  echo "REQUIRED_API_KEY is not configured"
fi
  1. Do not print, log, return, or otherwise place secret values in Agent context.
  2. Apply output redaction at the Agent or execution-platform boundary as defense in depth.
  3. If the unsafe PowerShell command has already been executed, review relevant transcripts and logs, delete exposed copies where possible, and rotate potentially disclosed credentials.
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
Findings (7)

Intent-Code Divergence

High
Category
Not specified by scanner
Confidence
95% confidence
Finding

The document asserts that all FREE-version data stays local and is not uploaded to the cloud, but elsewhere it explicitly supports external API usage and callback URLs. This can mislead users into providing sensitive task data under false privacy assumptions, causing unintended disclosure to third parties or remote endpoints.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
90% confidence
Finding

The display name, summary, description, and the rest of the skill instructions are written entirely in Chinese, with no indication that users can choose another language or that the skill is intentionally limited to a Chinese-speaking locale. Under the policy, imposing a specific language without opt-in is a natural-language policy concern.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

The skill is presented as a limited personal productivity assistant, yet the declared tools include unrestricted command execution via exec. That creates a capability/expectation mismatch: users may invoke a seemingly harmless skill that can run arbitrary shell commands in the agent environment.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

Medium
Category
Not specified by scanner
Confidence
88% confidence
Finding

The skill advertises productivity features like classification, tracking, and reporting, but does not clearly justify why shell execution is needed for those tasks. Unnecessary command execution expands the attack surface and increases the risk of prompt-driven file access, environment inspection, or system modification.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
88% confidence
Finding

The sample invocation phrase is extremely generic and could match normal conversation, encouraging accidental activation. Because the skill claims the agent will automatically execute tools or APIs, generic invocation materially raises the risk of unreviewed actions.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The trigger condition is broad enough that many ordinary requests involving analysis, reporting, or visualization could activate the skill unintentionally. In a skill that can auto-call tools and potentially execute commands, ambiguous activation increases the chance of unexpected actions or disclosures without clear user intent.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

The skill states that the agent will automatically call tools or APIs, but it does not clearly warn users that command execution and outbound network activity may occur. This weakens informed consent and may cause users to expose local data, credentials, or operational context without understanding the execution model.

Content

No source excerpt is available for this finding.