Back to skill

Security audit

PPT Layout Matcher

Security checks for vulnerabilities and agentic risk

Overview

This is a local PPT layout recommendation skill with no hidden network access, credential handling, persistence, or destructive behavior; its main caveats are broad triggers and mostly Chinese-language documentation.

Install only if you are comfortable with a presentation skill that defaults to Chinese-language examples and may activate on broad PPT-related requests. Confirm the chosen layout and output path before letting an agent create any PowerPoint file, and review any pip-installed dependency in your normal environment policy.

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
Vulnerability Patterns
  • 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
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (9)

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
87% confidence
Finding

The skill documentation and user-facing invocation guidance are entirely in Chinese, and there is no indication that users may choose another language or that the skill is intentionally limited to a Chinese-only audience for a documented reason. This can constitute a language/locale policy issue under the requirement to avoid forcing a specific language without user opt-in.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

The trigger phrases are broad, common user utterances for creating presentations, which increases the chance the skill activates in situations where the user did not specifically intend to invoke this exact capability. In an agent ecosystem, over-broad activation can cause unintended handling of user content, misrouting to this skill, or accidental execution of downstream slide-generation actions.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The trigger conditions in metadata are broad enough to activate on common presentation-related requests, which can cause the skill to run when the user did not explicitly intend to invoke this specific capability. Overly permissive triggering increases the chance of accidental tool execution and unintended handling of user content, especially in environments with multiple overlapping skills.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

This code file contains natural-language documentation entirely in Chinese, which imposes a specific language on users without indicating that other languages are supported or that the locale is intentionally constrained. Under the policy, forcing a specific language without user opt-in is a natural-language policy violation.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The manifest describes a core capability chain of analyze content → match layout → create slides with python-pptx. In this file, the implemented behavior stops at heuristic analysis and returning template recommendations; there is no python-pptx usage or slide generation logic.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The test-mode console output and sample prompts are presented only in Chinese, with no mechanism for users to select their preferred language. This creates a locale-policy issue because the skill's visible interaction language is fixed rather than optional or clearly justified.

Content

No source excerpt is available for this finding.

Vague Triggers

Low
Category
Not specified by scanner
Confidence
89% confidence
Finding

The usage guidance repeats very general terms like 'PPT', 'presentation', and 'slides' without constraints, reinforcing a permissive activation model that may capture ordinary conversation. While not directly enabling code execution or data exfiltration, it can cause accidental invocation and unnecessary processing of user input.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
80% confidence
Finding

This code file contains user-facing strings almost entirely in Chinese, including the module description and all printed example output. Under the stated policy, forcing a specific language without opt-in can be a natural-language policy violation when no language choice or locale justification is provided.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
83% confidence
Finding

The title and the entire document are written in Chinese, presenting the skill content in a single fixed language. Under the policy, forcing a specific language without user opt-in can be a natural-language locale violation when no alternative or opt-in is provided.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.