Back to skill

Security audit

PPT Master

Security checks for vulnerabilities and agentic risk

Overview

The skill mostly fits a PPT/SVG creation workflow, but it needs Review because it directs automatic URL fetching and includes unsafe privileged install guidance.

Install only if you are comfortable running a local content-generation toolchain. Avoid the curl | sudo bash Node.js command; use trusted package-manager methods or a sandbox instead. Do not use the URL converter on untrusted links or in cloud/internal-network environments unless it is isolated, and review image watermark-removal use for rights and policy compliance.

Vulnerability Patterns
  • Remote Payload Retrieval and ExecutionFetches external code whose behavior can change after review
  • 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
Findings (3)

T03 · Remote Payload Retrieval and Execution

Error
Location
README_EN.md:45
Finding

Unverified Remote Script Executed with Root Privileges

Content
View full analysis
Remediation
View remediation

T09 · Insecure Skill Coding Practices

Error
Location
tools/web_to_md.py:78
Finding

Arbitrary URL Fetching Enables SSRF and Uses Disabled TLS Verification

Content
View full analysis
Remediation
View remediation

T08 · Insecure Dependencies

Warning
Location
SKILL.md:119
Finding

Unpinned and Non-Reproducible Third-Party Dependency Installation

Content
View full analysis
Remediation
View remediation
Vulnerability Patterns
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Tool MisuseTool Parameter Abuse, Chaining Abuse, Unsafe Defaults
  • 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
Findings (603)

Context-Inappropriate Capability

High
Category
Not specified by scanner
Confidence
95% confidence
Finding

The manifest describes a system for generating presentation and marketing visuals, but these lines explicitly direct use of a watermark-removal tool on generated images. Watermark removal is not an obvious or necessary implementation detail of PPT/SVG generation and introduces a capability unrelated to the declared content-creation purpose.

Content

No source excerpt is available for this finding.

Chaining Abuse

High
Category
Tool Misuse
Confidence
75% confidence
Finding

Tool calls are chained to bypass individual safety checks or escalate capabilities beyond what any single tool call would allow.

Content

Scanner excerpt · README.md (reported line 45)May include surrounding context.

md
|----------|-------------------------|
| **macOS** | Use [Homebrew](https://brew.sh/): `brew install node` |
| **Windows** | Download LTS version from [Node.js Official Website](https://nodejs.org/) |
| **Linux** | Use [NodeSource](https://github.com/nodesource/distributions): `curl -fsSL https://deb.nodesource.com/setup_lts.x \| sudo -E bash - && sudo apt-get install -y nodejs` |

> 💡 **Verify Installation**: Run `node --version` to confirm version ≥ 18

Chaining Abuse

High
Category
Tool Misuse
Confidence
75% confidence
Finding

Tool calls are chained to bypass individual safety checks or escalate capabilities beyond what any single tool call would allow.

Content

Scanner excerpt · README_EN.md (reported line 45)May include surrounding context.

md
|----------|-------------------------|
| **macOS** | Use [Homebrew](https://brew.sh/): `brew install node` |
| **Windows** | Download LTS version from [Node.js Official Website](https://nodejs.org/) |
| **Linux** | Use [NodeSource](https://github.com/nodesource/distributions): `curl -fsSL https://deb.nodesource.com/setup_lts.x \| sudo -E bash - && sudo apt-get install -y nodejs` |

> 💡 **Verify Installation**: Run `node --version` to confirm version ≥ 18

Chaining Abuse

High
Category
Tool Misuse
Confidence
75% confidence
Finding

Tool calls are chained to bypass individual safety checks or escalate capabilities beyond what any single tool call would allow.

Content

Scanner excerpt · README.md (reported line 45)May include surrounding context.

md
|----------|-------------------------|
| **macOS** | Use [Homebrew](https://brew.sh/): `brew install node` |
| **Windows** | Download LTS version from [Node.js Official Website](https://nodejs.org/) |
| **Linux** | Use [NodeSource](https://github.com/nodesource/distributions): `curl -fsSL https://deb.nodesource.com/setup_lts.x \| sudo -E bash - && sudo apt-get install -y nodejs` |

> 💡 **Verify Installation**: Run `node --version` to confirm version ≥ 18

Chaining Abuse

High
Category
Tool Misuse
Confidence
75% confidence
Finding

Tool calls are chained to bypass individual safety checks or escalate capabilities beyond what any single tool call would allow.

Content

Scanner excerpt · README_EN.md (reported line 45)May include surrounding context.

md
|----------|-------------------------|
| **macOS** | Use [Homebrew](https://brew.sh/): `brew install node` |
| **Windows** | Download LTS version from [Node.js Official Website](https://nodejs.org/) |
| **Linux** | Use [NodeSource](https://github.com/nodesource/distributions): `curl -fsSL https://deb.nodesource.com/setup_lts.x \| sudo -E bash - && sudo apt-get install -y nodejs` |

> 💡 **Verify Installation**: Run `node --version` to confirm version ≥ 18

Tp4

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding

The description claims a content-generation skill focused on AI-driven SVG creation for presentations and marketing materials. The supplied code does something materially different: it inspects existing image files in a directory, reports their size/aspect ratio, suggests presentation layout categories, prints markdown, and writes a CSV summary. While the PPT-related suggestions are tangentially relevant to presentation workflows, the primary purpose is analysis/reporting of existing images, not generation of SVG or other visual assets from documents. This is a clear description-behavior mismatch.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding

The declared description says the skill generates SVG visual content for presentations and marketing materials. The provided code does not generate SVGs, create presentations, or transform documents into visuals. Instead, it is a command-line quality assurance/validation tool for existing projects, checking structure, metadata, required files, and SVG formatting issues, then printing/exporting reports. This is a materially different primary purpose and introduces undeclared capabilities related to auditing and validation rather than content generation.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
96% confidence
Finding

The declared description presents the skill as a content-generation system that creates SVG-based presentation and marketing visuals, presumably driven by AI and usable on input documents. The supplied code does not generate any content, perform AI inference, transform documents, or produce presentation/poster/social-media graphics. Instead, it is a configuration module containing predefined formats, palettes, fonts, layout values, SVG restrictions, and helper getters. It also exposes a CLI for listing these settings and exporting them to a JSON file. While these configurations may support a larger SVG-generation system, this code chunk itself is only an internal config tool, so the declared purpose materially overstates and misrepresents the actual behavior.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding

The description claims a broad AI-based SVG/visual content generation system for presentations and marketing materials. The supplied code does not generate content at all. Its actual purpose is narrow and procedural: it post-processes existing SVGs by cropping linked images based on preserveAspectRatio='slice', saving the cropped assets, and updating SVG references. This is a materially different primary purpose and includes file modification behavior not conveyed by the declaration. Therefore the description does not accurately represent the code.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding

The declared description presents a broad AI-based visual content generation system for creating presentation and marketing graphics from documents. The supplied code instead implements a narrow SVG post-processing tool: it reads existing SVG files, finds custom icon placeholders, loads matching icon SVGs from a local templates/icons directory, extracts path elements, and writes replacements back into the SVG. This is materially different in primary purpose and capability. While both relate to SVG assets, the code does not perform AI generation, document-to-visual transformation, or multi-format output creation; it only embeds icons into existing SVGs.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding

The declared description suggests a broad AI-based content generation system for creating presentation and marketing visuals. The supplied code does not perform any AI processing, document ingestion, or visual generation. Instead, it is a narrow utility for modifying existing SVG files by embedding referenced external images as Base64 data URLs. This is a materially different primary purpose and capability than what was declared.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding

The supplied code does not generate SVGs, presentations, or any visual content, nor does it invoke AI capabilities. It is a static helper utility for formatting error messages and suggested fixes for known project and SVG rule violations. While it is related to an SVG/PPT workflow, its role is support tooling for validation and troubleshooting, which is materially different from the declared primary purpose of an AI-driven content generation system.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding

The declared description says the skill is an AI-based SVG content generation system for presentations and marketing visuals. The supplied code does something materially different: it is a maintenance/post-processing tool that repairs aspect ratios of existing SVG elements by reading image dimensions and rewriting SVG geometry. There is no AI behavior, no generation of presentations/posters/social graphics, and no document-to-visual conversion workflow. While the code does operate on SVGs and is tangentially relevant to presentation assets, its primary purpose is narrowly focused on fixing embedded image sizing for PowerPoint compatibility, which is a significant mismatch from the declared purpose.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding

The declared description presents a broad AI content-generation system for producing presentation and marketing visuals from documents. The supplied code does something much narrower and materially different: it reads existing SVG files, detects / patterns, and rewrites them into flatter SVG text structures for compatibility. There is no model usage, document-to-graphic generation, presentation creation, or multi-format output beyond SVG file rewriting. The code’s primary purpose is SVG text normalization/flattening, so the description does not accurately represent the actual behavior.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding

The declared description says this skill generates multi-format SVG visual content for presentations and marketing materials. The supplied code does not generate SVGs, presentations, posters, or graphics from documents, and it does not perform AI-driven content creation. Instead, its sole purpose is to remove a Gemini watermark/logo from existing images using a reverse blending algorithm and save a cleaned output file. This is a materially different primary purpose and introduces undeclared capabilities related to watermark removal and image alteration.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding

The declared description says this skill is for AI-powered SVG content generation for presentations and marketing materials. However, the supplied code does not generate SVGs, create presentations, transform documents into visuals, or invoke any AI functionality. Its actual purpose is to scan an examples directory, collect project metadata via helper utilities, and write a README index file listing projects by format and date. This is a materially different primary purpose from the declared one, so the description does not accurately represent the code chunk.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding

The declared description says this skill generates SVG visual content for presentations and marketing materials. The supplied code does not generate SVGs, slides, posters, or social media graphics, and it does not use AI generation. Instead, it opens PDF files with PyMuPDF, analyzes font sizes to infer heading structure, extracts text/tables/images, cleans headers and footers, and outputs Markdown plus extracted image files. This is a materially different primary purpose and includes undeclared file-processing capabilities unrelated to SVG content generation.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding

The declared description suggests a broad system for AI-based generation of SVG visual assets across multiple use cases and formats. The supplied code instead narrowly produces XML fragments for PowerPoint slide transitions and entrance animations. Its primary purpose is PPTX animation/timing support, not SVG creation or multi-format graphic generation. This is a material description-to-behavior mismatch.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding

The declared description emphasizes automated SVG content generation for PPTs, posters, and visual materials. The provided code does not generate or transform content at all. Instead, it manages project directories, validates project structure, checks for spec files and SVG naming/viewBox consistency, and prints project info. While this may support a larger SVG workflow, the chunk’s primary purpose is project administration/validation, which is materially different from the declared generation capability.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding

The declared description says this skill generates SVG visual content for PPTs/posters/social graphics. However, the supplied code does not generate any SVGs, create presentation assets, invoke AI models, or transform documents into visuals. Instead, it is a helper module focused on parsing directory names, checking presence of README/spec/source files, counting SVG files, validating project structure and SVG viewBox/naming conventions, searching project folders, and calculating file counts/sizes. This is a materially different primary purpose, so the description does not accurately represent the code chunk.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding

The declared description says this skill generates multi-format SVG visual content for presentations and marketing materials. The code does nothing related to AI generation, SVG creation, document-to-visual transformation, or presentation/poster generation. Its actual purpose is image maintenance: correcting EXIF orientation, rotating existing image files, and generating a browser-based helper UI to review and produce rotation instructions. This is a materially different primary purpose and includes undeclared file-modification behavior, so the description does not accurately represent the code.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
95% confidence
Finding

The declared description suggests a broad AI-powered system that generates SVG visual content for presentations, posters, and marketing materials from documents. The supplied code does not implement AI behavior, document ingestion, or general multi-format content generation. Instead, it is a specialized CLI utility for calculating chart coordinates, generating chart geometry metadata/path strings, analyzing existing SVG files, and validating element positions. While the code is SVG-related and could support presentation graphics workflows, its primary purpose is materially narrower and different from the declared purpose, and it also provides undeclared SVG analysis/validation functionality.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding

The declared description says this skill generates SVG content for presentations and marketing materials. The supplied code does not generate any SVG or visual content, does not transform documents into graphics, and does not appear AI-driven. Its primary function is to inspect existing SVG files for compliance with project/PPT compatibility rules, summarize issues, and optionally export a report. This is a materially different purpose, so the description does not accurately represent the code.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding

The description claims a broad AI-based visual content generation system for multiple output formats and use cases. The supplied code instead performs a specific deterministic SVG transformation: it scans SVG files/directories, parses XML, and rewrites rounded rectangle elements into path elements for PowerPoint compatibility. It does not generate new content, does not process documents into graphics, does not appear AI-driven, and does not support the broad multi-format presentation/social-media/marketing workflow described. This is a material description-behavior mismatch.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
96% confidence
Finding

The declared description says this skill is an AI-driven multi-format SVG content generation system for presentations and marketing materials. The supplied code does not generate content, does not use AI, and does not transform documents into visuals. Instead, it is a batch conversion/export tool: it scans a local project directory for pre-existing SVG files, optionally reads notes/*.md, may render PNG fallback images, edits PPTX internals, and produces a PowerPoint file with one slide per SVG plus optional transitions and notes. That is a materially different primary purpose from the declared description, so this is a mismatch.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.