T03 · Remote Payload Retrieval and Execution
- Location
README_EN.md:45- Finding
Unverified Remote Script Executed with Root Privileges
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
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.
README_EN.md:45Unverified Remote Script Executed with Root Privileges
tools/web_to_md.py:78Arbitrary URL Fetching Enables SSRF and Uses Disabled TLS Verification
SKILL.md:119Unpinned and Non-Reproducible Third-Party Dependency Installation
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.
Tool calls are chained to bypass individual safety checks or escalate capabilities beyond what any single tool call would allow.
|----------|-------------------------|
| **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
Tool calls are chained to bypass individual safety checks or escalate capabilities beyond what any single tool call would allow.
|----------|-------------------------|
| **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
Tool calls are chained to bypass individual safety checks or escalate capabilities beyond what any single tool call would allow.
|----------|-------------------------|
| **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
Tool calls are chained to bypass individual safety checks or escalate capabilities beyond what any single tool call would allow.
|----------|-------------------------|
| **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
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
No suspicious patterns detected.