Back to skill

Security audit

效率助手 v1 基础版

Security checks for vulnerabilities and agentic risk

Overview

This personal productivity skill is mostly coherent, but it requests broad command/file access and gives unclear privacy guidance, so it should be reviewed before installation.

Install only if you trust the publisher and are comfortable granting command execution and local file access to a notes/tasks assistant. Avoid running the environment-variable check as written, especially the PowerShell version, and treat callback URLs or external API use as potentially sending personal productivity data off-device despite the local-only privacy claim.

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:176
Finding

Sensitive Environment Variable Disclosure During Configuration Validation

Content
View full analysis

Vulnerability Details

File Location: SKILL.md, lines 176–181
Vulnerability Type: Sensitive credential exposure through broad environment-variable enumeration
Risk Level: Medium

Complete Code Snippet:

bash
# Verify whether environment variables are configured
echo "Configuration check:"
env | grep -E "API|KEY|TOKEN|SECRET" | sed "s/=.*/=***/"  # Linux/macOS
# Or PowerShell
# Get-ChildItem Env: | Where-Object {$_.Name -match "API|KEY|TOKEN"} | Format-Table

Technical Analysis

The Skill recommends enumerating every environment variable whose name contains API, KEY, TOKEN, or SECRET. This is broader than necessary for its productivity-management functions.

On Linux and macOS, sed masks values after the first equals sign, but sensitive variable names remain exposed. On PowerShell, the suggested pipeline formats complete environment-variable objects and does not redact their values. Consequently, API keys, access tokens, and similar credentials can be printed to the terminal and captured by the AI Agent's context, execution logs, retained transcripts, shell logging, screenshots, or monitoring systems.

The project contains no direct exfiltration instruction. Exploitation therefore depends on an untrusted party gaining access to one of these output-retention channels.

Attack Path

  1. A user or AI Agent follows the configuration-validation instructions.
  2. On Windows, the PowerShell command selects all environment variables with names matching API, KEY, or TOKEN.
  3. Format-Table displays the matching variables without value redaction.
  4. The terminal output is captured in an Agent transcript, execution log, screenshot, or monitoring record.
  5. A party with access to that retained output extracts the disclosed credentials.
  6. The party reuses the credentials against the services and permissions associated with them.

On Linux or macOS, the same process primarily discl ...[truncated 834 chars]

Remediation
View remediation

Remediation Suggestions

  1. Remove broad enumeration of environment variables based on generic secret-related names.

  2. Validate only each explicitly required variable. This Skill currently identifies no concrete API variable that requires validation.

  3. Use presence-only checks that never print credential values. For example:

    bash
    if [ -n "${REQUIRED_API_KEY:-}" ]; then
      echo "REQUIRED_API_KEY is configured"
    else
      echo "REQUIRED_API_KEY is not configured"
    fi
    
    powershell
    if (Test-Path Env:REQUIRED_API_KEY) {
        Write-Output "REQUIRED_API_KEY is configured"
    } else {
        Write-Output "REQUIRED_API_KEY is not configured"
    }
    
  4. Apply equivalent non-disclosure behavior across all supported operating systems.

  5. Avoid placing secret-bearing command output in AI Agent prompts, transcripts, diagnostic bundles, or persistent logs.

  6. Document the minimum required variables and permissions. Recommend scoped, short-lived credentials where authentication is genuinely necessary.

  7. If the original PowerShell command has already been used, review retained transcripts and logs, restrict access to them, securely delete unnecessary copies, and rotate any credentials that may have been exposed.

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
  • Behavioral ASTexec() Call, eval() Call, Dynamic Import
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
Findings (10)

Context-Inappropriate Capability

High
Category
Not specified by scanner
Confidence
98% confidence
Finding

Granting exec to a personal productivity skill is dangerous because the documented scope is notes, tasks, summaries, and light automation, yet exec enables arbitrary shell commands affecting files, processes, credentials, and network state. In the context of broad natural-language triggering, this substantially increases the chance of unintended or prompt-induced destructive actions.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The keyword list is extremely generic—covering broad concepts like efficiency, assistant, tasks, and notes—without constraints, making accidental or overly eager invocation more likely. In a skill with read/grep/glob/exec access, broad matching materially increases the attack surface for prompt-triggered misuse.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The skill exposes exec-enabled automation but does not clearly warn users that it can affect local files, processes, and system state. Missing warnings undermine informed consent and make accidental harmful operations more likely, particularly for non-technical users of a 'personal productivity' tool.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

The invocation description is broad enough to match common everyday requests, increasing the probability the skill activates in contexts the user did not specifically intend. When combined with file-reading and exec-capable tooling, overbroad activation can turn ordinary prompts into local file access or command execution pathways.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

Medium
Category
Not specified by scanner
Confidence
82% confidence
Finding

The version-positioning table says the FREE version does not support batch operations or team collaboration, presenting a constrained capability set. Yet the manifest grants 'exec' alongside file/search tools, which enables arbitrary command execution and can trivially implement bulk processing well beyond the described FREE limitations. That creates a mismatch between the marketed scope and the actual enabled behavior.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
90% confidence
Finding

Allowing users to trigger the skill via unconstrained natural-language requests, without defining boundaries on what the agent may read, modify, or execute, is unsafe. This is especially risky because the skill has access to powerful local tooling and describes automated task execution based on user instructions.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The documentation allows callback URLs and discusses external API/network usage without clearly warning that user content may be transmitted off-device. For a skill handling personal notes, tasks, and summaries, omission of outbound-data privacy notice can lead to silent exfiltration of sensitive information.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

The skill claims that all data is stored locally and not uploaded, but elsewhere it permits external API use, network connectivity, and callback URLs. This creates a misleading privacy/security representation that can cause users to expose sensitive notes, tasks, or summaries under false assumptions about data locality.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The documentation presents a local-only privacy model while also describing external APIs and networked callbacks, which is a material contradiction. Users may provide sensitive personal productivity data believing it never leaves the machine, when in fact the skill flow may transmit it externally.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
82% confidence
Finding

The skill name, summary, description, examples, and operational guidance are presented entirely in Chinese, and there is no indication that users may choose another language. Because no region-specific justification or opt-in language constraint is documented, this may conflict with language/locale choice expectations.

Content

No source excerpt is available for this finding.