Back to skill

Security audit

html2pptx

Security checks for vulnerabilities and agentic risk

Overview

This is a local HTML-to-PPTX converter with documentation and dependency hygiene issues, but no evidence of hidden data access, persistence, exfiltration, or destructive behavior.

Install only if you need local HTML-to-PPTX conversion, and prefer running the documented Python converter on files you choose explicitly. Treat the README’s prompt-generation and virtual-environment claims as stale unless a future version adds reviewed code, and consider pinning/updating dependencies before use in a shared or production environment.

Vulnerability Patterns
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • 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 (7)

Vague Triggers

Medium
Confidence
90% confidence
Finding
The README shows a conceptual invocation that accepts arbitrary natural-language input ("Create a presentation about...") rather than clearly constraining the skill to HTML-to-PPTX conversion. In an agent setting, this broad trigger surface can cause the skill to activate outside its intended scope, potentially chaining into unreviewed generation or file-processing behavior and increasing the chance of prompt/command misuse.

Vague Triggers

Medium
Confidence
76% confidence
Finding
The trigger phrase “转换ppt” is broad and can match many generic requests about creating, converting, or editing PowerPoint files that may be outside this skill’s narrow HTML-to-PPTX purpose. Over-broad invocation can cause the wrong skill to activate on unrelated content, potentially leading to unintended file handling or user confusion about what data will be processed.

Unpinned Dependencies

Low
Category
Supply Chain
Content
beautifulsoup4>=4.10.0
lxml>=4.6.0
html5lib>=1.1
Confidence
89% confidence
Finding
The dependency is specified with only a lower bound, so installs can resolve to different versions over time and may unexpectedly pull in a newly broken or vulnerable release. In a content-conversion skill that parses attacker-influenced HTML, supply-chain reproducibility matters because parser behavior and security posture directly affect how untrusted input is handled.

Unpinned Dependencies

Low
Category
Supply Chain
Content
beautifulsoup4>=4.10.0
lxml>=4.6.0
html5lib>=1.1
Confidence
97% confidence
Finding
The lxml dependency is unpinned, which creates non-reproducible builds and increases exposure to supply-chain risk. This is more concerning here because the skill converts HTML, so it relies on a parser operating on potentially untrusted markup; an unsafe or unexpectedly changed lxml version could introduce parsing bugs or known security issues.

Unpinned Dependencies

Low
Category
Supply Chain
Content
beautifulsoup4>=4.10.0
lxml>=4.6.0
html5lib>=1.1
Confidence
95% confidence
Finding
The html5lib dependency is unpinned, allowing arbitrary newer compatible versions to be installed without review. Because this skill processes HTML input, parser and serializer libraries are part of the attack surface, so lack of version pinning increases the chance of silently introducing vulnerable or behavior-changing code.

Known Vulnerable Dependency: lxml — 10 advisory(ies): CVE-2021-43818 (lxml's HTML Cleaner allows crafted and SVG embedded scripts to pass through); CVE-2014-3146 (lxml Cross-site Scripting Via Control Characters); CVE-2021-28957 (lxml vulnerable to Cross-Site Scripting ) +7 more

High
Category
Supply Chain
Confidence
93% confidence
Finding
lxml has multiple published advisories, including XSS-related issues in HTML cleaning and parsing workflows. In this skill, that matters more than usual because the primary function is converting HTML presentations, so untrusted markup may flow through the vulnerable library and lead to unsafe output, incomplete sanitization, or downstream script-bearing content being preserved.

Known Vulnerable Dependency: html5lib — 4 advisory(ies): CVE-2016-9910 (Cross-site Scripting in html5lib); CVE-2016-9909 (Improper Neutralization of Input During Web Page Generation in html5lib); CVE-2016-9909 (The serializer in html5lib before 0.99999999 might allow remote attackers to con) +1 more

High
Category
Supply Chain
Confidence
91% confidence
Finding
html5lib has known XSS-related advisories affecting parsing or serialization of HTML content. Since this skill explicitly ingests HTML and transforms it into another document format, vulnerable handling of crafted markup could allow malicious content to survive conversion or be emitted in unsafe form, increasing risk for users who open or reuse the generated output.

Static analysis

No suspicious patterns detected.