Back to skill

Security audit

智能周报基础版

Security checks for vulnerabilities and agentic risk

Overview

This weekly-report skill mostly matches its purpose, but users should review it because it handles sensitive work logs while giving unclear and conflicting guidance about local-only storage versus external API use.

Install only after confirming you are comfortable with it reading selected work logs or conversation context and writing local report/todo files. Use explicit source paths, review and redact drafts before saving or sharing, avoid the generic environment scan, and configure API keys or callback URLs only if external transmission is acceptable.

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

Unnecessary Enumeration of Credential-Related Environment Variables

Content
View full analysis

Vulnerability Details

File Location: SKILL.md, lines 179–184
Vulnerability Type: Environment Reconnaissance
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 configuration-validation instructions direct the AI Agent to enumerate the process environment and select variables whose names contain credential-related terms such as API, KEY, TOKEN, or SECRET.

The Unix command masks values before displaying the result, which limits direct secret disclosure. Nevertheless, it reveals the names and presence of credential-bearing variables. The PowerShell alternative similarly lists matching environment variables through Format-Table; depending on its default rendering and host behavior, it may expose more information than a boolean configuration check requires.

This broad inspection violates data-minimization and least-information principles. A weekly-report generator does not need an inventory of unrelated credentials to verify its configuration. The finding is classified as other: Environment Reconnaissance because no listed T01–T09 category precisely describes non-privileged environment discovery without confirmed secret leakage or escalation.

Attack Path

  1. A user asks the Agent to configure or validate the Skill.
  2. The Agent follows the validation procedure in SKILL.md.
  3. The Agent executes the Unix or PowerShell environment-enumeration command.
  4. The command identifies credential-related environment variables across the Agent process.
  5. Their names—and potentially additional PowerShell-rendered information—are placed in terminal output or conversation context.
  6. An untrusted party with access ...[truncated 860 chars]
Remediation
View remediation

Remediation Suggestions

  1. Remove broad enumeration based on generic terms such as KEY, TOKEN, and SECRET.
  2. Document the exact environment variable required by the Skill, if any.
  3. Validate only that explicitly named variable and return a boolean or fixed status message without printing its value.
  4. Avoid commands that render entire environment-variable objects or tables.
  5. If no environment variable is genuinely required for local report generation, remove the environment-validation step entirely.
  6. Keep external API use opt-in and clearly identify each required variable and destination.

A safer Unix presence check would be:

bash
if [ -n "${WEEKLY_REPORT_API_KEY:-}" ]; then
  echo "Required API credential is configured."
else
  echo "Required API credential is not configured."
fi

A safer PowerShell equivalent would be:

powershell
if (Test-Path Env:WEEKLY_REPORT_API_KEY) {
    Write-Output "Required API credential is configured."
} else {
    Write-Output "Required API credential is not configured."
}

These checks should use the actual documented variable name and must never print its value.

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 (10)

Intent-Code Divergence

High
Category
Not specified by scanner
Confidence
97% confidence
Finding

The file states that all data is stored locally and not uploaded to the cloud, yet later says some functions require network access and an LLM API. This is a direct contradiction that can mislead users into exposing sensitive work logs, internal summaries, or private conversation context to remote providers.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
89% confidence
Finding

The skill declares exec capability and later references external APIs/network use, but does not give a clear upfront warning that commands may run locally and data may be transmitted externally. This creates a trust gap in which users may invoke the skill without understanding its execution and data-handling behaviors.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The skill advertises reading logs or conversation context and returning response data that includes logs, but does not prominently warn users that sensitive content may be collected, summarized, and written into reports or todo files. This omission weakens informed consent and raises the risk of accidental disclosure of private or proprietary information.

Content

No source excerpt is available for this finding.

Ssd 3

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The skill explicitly instructs reading logs or conversation context and returning structured responses that include logs. That creates a straightforward natural-language path for sensitive user content, secrets, internal project details, or private discussions to be surfaced in outputs or downstream processing.

Content

No source excerpt is available for this finding.

Ssd 3

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The example workflow tells the agent to build reports from logs or conversation context and save them as files, which can easily reproduce private dialogue content or sensitive operational details into persistent artifacts. Because the tool is for workplace reporting, the context often contains proprietary or personal information, making accidental disclosure more likely and more harmful.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The trigger model relies on broad natural-language requests such as asking the agent to generate a weekly report, without tightly constraining what sources may be read or what side effects are allowed. In a skill that can read logs, conversation context, and write files, ambiguous activation increases the chance of unintended data collection or output generation.

Content

No source excerpt is available for this finding.

Autonomous Decision Making

Medium
Category
Excessive Agency
Confidence
85% confidence
Finding

Skill enables autonomous high-impact decisions without human-in-the-loop verification. Critical operations (destructive commands, financial transactions, data deletion) should require explicit user confirmation.

Content

Scanner excerpt · SKILL.md (reported line 171)May include surrounding context.

"log_source": "auto", "template": "default", "include_todos": true, "auto_confirm": false }

text

Autonomous Decision Making

Medium
Category
Excessive Agency
Confidence
85% confidence
Finding

Skill enables autonomous high-impact decisions without human-in-the-loop verification. Critical operations (destructive commands, financial transactions, data deletion) should require explicit user confirmation.

Content

Scanner excerpt · SKILL.md (reported line 213)May include surrounding context.

"log_source": "auto", "template": "default", "include_todos": true, "auto_confirm": false }

text

Description-Behavior Mismatch

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The skill is marketed as a local weekly-report tool, but its dependency section explicitly allows external API use and network connectivity. That mismatch can cause users to provide logs or conversation history under the false assumption that data remains local, creating an avoidable confidentiality risk.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
83% confidence
Finding

The display name, summary, 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 audience. This may impose a language constraint without user opt-in.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.