Back to skill

Security audit

效率追踪器基础版

Security checks for vulnerabilities and agentic risk

Overview

The skill is mostly a productivity tracker, but it asks for broad shell access and gives unsafe credential-checking and unclear network/data-sharing guidance.

Review before installing. Only use this skill if you are comfortable with a productivity tracker that can use shell commands and may interact with external APIs or callback URLs. Do not run its environment-variable check as written, especially in PowerShell, and avoid giving it sensitive activity logs until the publisher clarifies what data can leave the machine.

Vulnerability Patterns
  • 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
  • Unauthorized Access and Privilege EscalationObtains permissions beyond the task's legitimate needs
Findings (1)

other

Warning
Location
SKILL.md:188
Finding

Sensitive Environment Variable Enumeration May Expose Credentials

Content
View full analysis

Vulnerability Details

File Location: SKILL.md, lines 188–195
Vulnerability Type: Sensitive Environment Information Enumeration
Risk Level: Medium

Vulnerable Code

bash
# Verify whether environment variables are set
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 configuration-validation instructions broadly enumerate process environment variables whose names contain credential-related terms. This is not limited to variables required by the Skill.

The Linux/macOS command masks values before displaying its results, but still reveals the names and presence of potentially sensitive credentials. More seriously, the PowerShell command passes matching environment-variable objects to Format-Table, which normally displays both their names and values. Consequently, API keys, access tokens, or other secrets may be exposed in terminal output and the Agent's context.

The Skill does not instruct the Agent to transmit these results externally. Therefore, this is an information-exposure risk caused by unsafe validation guidance, not confirmed credential exfiltration.

Attack Path

  1. A user or Agent loads the Skill and follows its environment-validation procedure.
  2. The Agent executes the provided command in a process containing API keys or access tokens.
  3. The command searches the entire environment for broadly matching names.
  4. On PowerShell, matching secret values are displayed without redaction; on Linux/macOS, sensitive variable names are disclosed.
  5. The output may enter the Agent context, terminal history, execution logs, transcripts, screenshots, or other diagnostic records.
  6. Any party with access to those records may recover the exposed information and, where values were disclosed, use the associated credentials within their existing permissions. ...[truncated 543 chars]
Remediation
View remediation

Remediation Suggestions

  1. Remove broad enumeration based on patterns such as API, KEY, TOKEN, and SECRET.
  2. Check only explicitly required environment-variable names.
  3. Return only whether each required variable is present; never print its value.
  4. Ensure diagnostic logs, Agent messages, and command output redact secrets by default.
  5. Use platform-specific presence checks, for example:
bash
if [ -n "${EXPECTED_API_KEY+x}" ]; then
  echo "EXPECTED_API_KEY is configured"
else
  echo "EXPECTED_API_KEY is not configured"
fi
powershell
if ($null -ne $env:EXPECTED_API_KEY -and $env:EXPECTED_API_KEY.Length -gt 0) {
    Write-Output "EXPECTED_API_KEY is configured"
} else {
    Write-Output "EXPECTED_API_KEY is not configured"
}
  1. Document the exact variables required by the Skill and apply least-exposure principles to all configuration diagnostics.
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
96% confidence
Finding

This is the same underlying security issue expressed across a broader section: the document promises local-only storage while also describing network-dependent behavior and external API usage. For a productivity tracker that may handle detailed work habits, schedules, and potentially sensitive metadata, contradictory privacy guarantees materially increase the chance of unsafe deployment and accidental data exposure.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

High
Category
Not specified by scanner
Confidence
97% confidence
Finding

The skill makes a strong privacy claim that all data is stored locally and not uploaded to the cloud, yet elsewhere states that some functionality may call external APIs or require network access. This mismatch can mislead users into providing sensitive activity logs under a false assumption of locality, creating a real risk of unintended disclosure to third parties.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

Medium
Category
Not specified by scanner
Confidence
88% confidence
Finding

Granting shell execution capability to a personal productivity tracking skill is broader than necessary for the stated function and increases the attack surface. Because the skill is driven by natural-language instructions, an agent may be induced to run local commands, inspect files, or exfiltrate data through command-line tools without sufficient justification.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

The skill supports export, record creation, and callback URLs, all of which can write data or transmit it externally, but the documentation does not prominently warn users about these behaviors. In a tool handling personal activity data, silent or poorly disclosed write/send operations can lead to privacy loss, SSRF-style misuse of callback endpoints, or accidental leakage of sensitive reports.

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 overly broad, effectively allowing the skill to activate for generic analysis, reporting, or visualization requests. In an agent environment with powerful tools, ambiguous triggering can cause the skill to run in contexts the user did not intend, increasing the likelihood of unnecessary file access, data recording, or outbound actions.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
77% confidence
Finding

该技能的 displayName、描述与全部操作说明均固定为中文,文档中未说明是否支持用户选择其他语言。对于面向“任意 AI Agent”和多平台用户的技能,这种未声明的单一语言默认可能构成语言/locale 约束不透明的问题。

Content

No source excerpt is available for this finding.

Vague Triggers

Low
Category
Not specified by scanner
Confidence
84% confidence
Finding

Stating that the scenario can be triggered via natural-language instructions without defining boundaries leaves too much discretion to the agent. While not directly an exploit primitive by itself, it weakens operational safety by making unintended invocation and overbroad interpretation more likely.

Content

No source excerpt is available for this finding.