Back to skill

Security audit

数据质量检查基础版

Security checks for vulnerabilities and agentic risk

Overview

The skill appears to be a data-quality helper, but it asks for broad command/write/network capabilities while under-disclosing how data and credentials could be exposed.

Install only if you are comfortable granting this skill command execution, file writes, and possible network/API/callback use. Keep it limited to data-quality checks, avoid using the provided environment-variable discovery commands, and do not let it send datasets or metadata to callbacks or external APIs unless you explicitly intend that.

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

Plaintext Disclosure of Sensitive Environment Variables on Windows

Content
View full analysis

Vulnerability Details

File Location: SKILL.md, lines 190–196
Vulnerability Type: Sensitive information exposure through diagnostic output
Risk Level: Medium

Vulnerable 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 PowerShell command enumerates environment variables whose names contain API, KEY, or TOKEN and sends the resulting objects to Format-Table. Unlike the Linux/macOS command, it does not redact variable values.

If an agent or user follows this Windows validation instruction, matching credentials can be displayed in plaintext. Terminal capture, agent execution transcripts, command logs, screen sharing, or CI logs may then retain those values. Enumerating all matching variables also exceeds what is necessary to confirm that a specific required credential exists.

This is an insecure diagnostic practice rather than evidence of deliberate exfiltration: the Skill does not instruct the agent to transmit the output to a remote party.

Attack Path

  1. A user loads the Skill in an agent environment on Windows.
  2. The user or agent follows the documented configuration-validation procedure.
  3. PowerShell enumerates all environment variables with names matching API, KEY, or TOKEN.
  4. Format-Table displays the associated values without masking them.
  5. Sensitive values are captured in the terminal, agent transcript, CI output, or other command logs.
  6. Anyone with access to those records can recover and misuse the exposed credentials.

Impact Assessment

The immediate scope is disclosure of credentials stored in matching environment variables under the current process or user context. Depending on the permissions as ...[truncated 420 chars]

Remediation
View remediation

Remediation Suggestions

  • Never print secret values while validating configuration.

  • Check only the exact environment-variable names required by the Skill rather than broadly enumerating names containing API, KEY, or TOKEN.

  • Return only presence or absence, for example:

    powershell
    $required = @("REQUIRED_API_KEY")
    foreach ($name in $required) {
        $configured = [Environment]::GetEnvironmentVariable($name) -ne $null
        [PSCustomObject]@{
            Name = $name
            Configured = $configured
            Value = if ($configured) { "***" } else { "" }
        }
    }
    
  • If broad discovery is genuinely required, project only the variable name and a fixed redacted marker; do not pass raw environment-variable objects to formatting or logging commands.

  • Ensure agent and CI systems suppress command output that could contain secrets, limit transcript access, and apply log-retention controls.

  • Rotate any credential that may already have appeared in terminal output, agent transcripts, or CI logs.

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 skill claims that all data remains local and is not uploaded to the cloud, but elsewhere it explicitly allows network access, external API usage, and callback URLs. That contradiction can mislead users into exposing sensitive datasets or metadata to external systems under a false assumption of locality and privacy.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

Medium
Category
Not specified by scanner
Confidence
88% confidence
Finding

The top-level description presents the skill as a narrow data-quality checker, but the body authorizes broader operational behavior such as create/query/export workflows, generic automation, and external connectivity. This scope mismatch can cause users or calling agents to grant more trust and permissions than the skill's real behavior warrants.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
90% confidence
Finding

The skill advertises exec, write, and callback URL support without a clear warning that these features may alter files or transmit data externally. In an agentic environment, undocumented side-effecting and network-capable tools materially raise the risk of unintended data modification or exfiltration.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
82% confidence
Finding

The document states that users can trigger the skill via natural-language instructions, but it does not define a bounded set of supported trigger phrases or clear exclusion criteria. Without more specificity, ordinary conversational requests about checking data may overlap with many other skills or workflows.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The trigger condition is broad enough to activate on generic requests like data analysis, report generation, statistics, or visualization, which extends well beyond the advertised purpose of data-quality checks. Overbroad activation increases the chance that an agent will invoke exec/write/network-capable behavior in contexts the user did not specifically intend.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

The documentation instructs the agent to enumerate environment variables matching API, KEY, TOKEN, or SECRET, which exposes the presence and names of secrets unrelated to data-quality checking. Even if values are masked in the example, encouraging secret discovery materially increases the risk of accidental disclosure, logging, or follow-on prompt abuse.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
88% confidence
Finding

The display name, summary, and nearly all usage instructions are presented only in Chinese, with no indication that the skill supports other languages or is intentionally limited to a Chinese-speaking context. This can violate language/locale policy where user choice or documented justification is expected.

Content

No source excerpt is available for this finding.