Back to skill

Security audit

PPTX批量格式化修复

Security checks for vulnerabilities and agentic risk

Overview

This skill locally edits PPTX files for font cleanup and slide-number removal; the main risk is accidental removal or layout changes, so users should review copies before overwriting originals.

Install only if you want a Chinese-language PPTX cleanup helper. Use it on copies or separate output files, inspect the generated presentation before replacing an original, and avoid the unpinned pip fallback unless you trust or pin the dependency source.

Vulnerability Patterns
  • Insecure DependenciesIntroduces malicious components through unsafe dependency sources
  • 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
Findings (2)

T08 · Insecure Dependencies

Warning
Location
SKILL.md:35
Finding

Unpinned Third-Party Dependency Installation

Content
View full analysis
Remediation
View remediation

T09 · Insecure Skill Coding Practices

Warning
Location
scripts/remove_pagenum.py:42
Finding

Overbroad Page-Number Detection Can Delete Legitimate Slide Content

Content
View full analysis
W * 0.55 and shape.top > H * 0.70: shapes_to_remove.append(shape) print(f" 第{i+1}页:删除右下角数字 '{text}' [{shape.name}]") extra_removed += 1 for shape in shapes_to_remove: sp = shape._element sp.getparent().remove(sp) ``` ### Technical Analysis The first deletion rule removes every text shape whose complete value matches an `X/Y` pattern. It does not consider the shape's position, placeholder type, recurrence across slides, expected relationship to the current slide number, or whether the value is semantically a ratio. The second rule deletes any text containing up to three digits when its upper-left coordinate falls inside a broad lower-right region. It does not verify that the number forms a sequential series, appears consistently across slides, belongs to a slide-number placeholder, or ...[truncated 1554 chars]
Remediation
View remediation
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 (5)

Tp4

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding

The declared description promises an active PPT/PPTX repair tool that edits presentations: increasing small fonts, enabling wrapping, correcting shapes, and deleting page numbers. The supplied code only inspects a single PPTX and prints detected page-number-like text plus placeholder/master information. It appears limited to detection of possible page numbers and does not save changes or perform any formatting fixes. This is a material mismatch in primary purpose and capabilities.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
97% confidence
Finding

描述中的第一项核心能力(字号修复、自动换行、边界修正)与代码基本一致。但描述中的第二项核心能力“页码批量删除”在代码中完全缺失:没有识别 X/Y、纯数字、幻灯片编号占位符,也没有任何删除 shape、清空文本或处理页码占位符的操作。因此描述夸大了能力,属于明显的描述-行为不一致。另,描述写成 PPT/PPTX 批量处理,而代码仅针对 PPTX(python-pptx 通常不处理旧 .ppt),这也是次要不一致。

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding

The description presents a dual-function PPT formatting repair tool, with font-size normalization as a major core capability alongside page-number deletion. However, the provided code chunk implements only page-number removal logic. It scans text shapes for X/Y patterns, removes slide-number placeholders from layouts, and deletes right-bottom numeric page numbers. There is no code for scanning font sizes, raising small text to 16pt, configuring thresholds, enabling wrapping, or adjusting shapes that exceed slide boundaries. Therefore the declared description materially overstates the code's behavior and broader primary purpose.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
88% confidence
Finding

The trigger phrases are broad enough to activate on ordinary PowerPoint-editing requests, which can cause unintended tool invocation and file modification workflows. In an agent setting, overbroad activation increases the chance of acting on user files when the user only wanted advice, creating integrity and availability risk through mistaken batch edits or deletions.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
93% confidence
Finding

The module docstring and all user-facing messages are written in Chinese, and the script does not provide any user opt-in or locale selection. Under the language/locale policy, forcing a specific language without choice is a natural-language policy concern unless the locale restriction is explicitly justified.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.