Back to skill

Security audit

PPT 演示工具包基础版

Security checks for vulnerabilities and agentic risk

Overview

The skill is mostly a PPTX helper, but it asks for exec access while making inconsistent privacy claims and includes under-scoped network, callback, and credential-checking guidance.

Install only if you are comfortable reviewing each operation before it runs. Do not use it on confidential decks unless network calls and callback payloads are disabled or clearly understood, avoid the broad environment-variable check, and require explicit confirmation for any file creation, modification, or overwrite.

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

T05 · Unauthorized Access and Privilege Escalation

Warning
Location
SKILL.md:186
Finding

Credential Exposure Through Broad Environment Variable Enumeration

Content
View full analysis

Vulnerability Details

File Location: SKILL.md, lines 186–190
Vulnerability Type: Credential-related environment variable enumeration
Risk Level: Medium

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 Skill instructs an AI Agent to enumerate environment variables whose names contain credential-related terms such as API, KEY, TOKEN, or SECRET. This operation is not required for the stated PPTX creation, editing, or validation functionality and exceeds the task's legitimate access needs.

The Unix command masks values after retrieving them, but still inventories secret-bearing variable names and relies on a text-processing pipeline to prevent disclosure. The proposed PowerShell equivalent is more severe: Format-Table displays both environment-variable names and their values without redaction. If an Agent executes that command, API keys, access tokens, or other secrets can become visible in the terminal transcript, Agent context, execution logs, or monitoring systems.

The project contains no instruction to transmit these values to a remote endpoint, so external exfiltration is not established. The issue is nevertheless a local unauthorized-access and disclosure risk because the Skill encourages access to credentials unrelated to presentation processing.

Attack Path

  1. A user loads the Skill in an AI Agent that has command-execution capability.
  2. The Agent follows the environment validation procedure in SKILL.md.
  3. On Windows, the Agent executes the suggested PowerShell pipeline.
  4. PowerShell selects environment variables with names containing API, KEY, or TOKEN.
  5. Format-Table prints the selected variables, including their unredacted values.
  6. Credential values are retained in terminal o ...[truncated 663 chars]
Remediation
View remediation

Remediation Suggestions

  1. Remove broad enumeration of environment variables based on generic credential-related patterns.
  2. Validate only the exact environment-variable names that are documented and strictly required by the Skill.
  3. Return only a boolean or status message indicating whether each required variable exists; never print its value.
  4. Apply equivalent redaction behavior across all supported operating systems.
  5. Avoid placing credential values in Agent context, terminal output, diagnostic logs, callback payloads, or error messages.
  6. If no external API is necessary for a PPTX operation, do not inspect API credentials at all.

A safer PowerShell presence check is:

powershell
if ($env:REQUIRED_API_KEY) {
    "REQUIRED_API_KEY is configured"
} else {
    "REQUIRED_API_KEY is missing"
}

A safer POSIX-compatible presence check is:

bash
if [ -n "${REQUIRED_API_KEY:-}" ]; then
  echo "REQUIRED_API_KEY is configured"
else
  echo "REQUIRED_API_KEY is missing"
fi
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 (6)

Vague Triggers

High
Category
Not specified by scanner
Confidence
96% confidence
Finding

The trigger condition says to use the skill for broad data analysis, reporting, statistical insight, and visualization, which does not match a PPT-focused toolkit. Overly broad activation criteria can cause an agent to invoke the skill in unrelated contexts, increasing the chance of unintended file edits, unnecessary command execution, or inappropriate handling of user data.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

High
Category
Not specified by scanner
Confidence
98% confidence
Finding

The documentation explicitly claims that all FREE-version data remains local and is never uploaded, but other sections authorize network connectivity, external API usage, and callbacks. This is a stronger and more dangerous contradiction because it can cause users to trust the skill with sensitive decks, credentials, or embedded business data that may actually be sent off-host.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
74% confidence
Finding

The display name, summary, description, and example invocation are presented only in Chinese, with no indication that users may interact in other languages or that the locale restriction is intentional. This can constitute a language/locale policy issue because the skill appears to impose a specific language without opt-in or documented justification.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
89% confidence
Finding

The skill describes capabilities to edit existing slides and create new presentations but does not prominently warn that it may automatically modify or generate files. In an agentic environment with exec access, omission of this warning raises the risk of unexpected file changes, overwrites, or creation of artifacts the user did not intend.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The documented callback_url parameter enables outbound communication but does not warn that user content, processing results, or system metadata may be sent to a remote endpoint. In a document-processing skill, this creates a meaningful data exfiltration risk, especially if confidential slide content or environment-derived details are included in callbacks.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The skill states or strongly implies local-only PPTX handling, yet elsewhere permits external API access and callback URLs. This mismatch can mislead users into providing sensitive presentation content under false privacy assumptions, resulting in unintended network transmission of proprietary or confidential data.

Content

No source excerpt is available for this finding.