Back to skill

Security audit

Sum2Slides

Security checks for vulnerabilities and agentic risk

Overview

The core tool appears to convert text into PowerPoint files locally, but its docs and demo scripts encourage broad automatic chat processing and sharing that need careful review.

Install only if you are comfortable with a Chinese-first text-to-PPT skill and keep it limited to explicit commands where possible. Disable or avoid broad keyword auto-triggering for private chats, review generated slides before sharing, replace the hardcoded Feishu owner_open_id with your own value, and install dependencies in a virtual environment from trusted package indexes.

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

T08 · Insecure Dependencies

Warning
Location
scripts/setup.py:57
Finding

Mutable and Unverified Dependencies Installed at Runtime

Content
View full analysis
=0.6.21 markdown>=3.4.4 pydantic>=2.0.0 click>=8.1.0 pyyaml>=6.0 ``` The documented installation path also retrieves a mutable remote package: ```bash # Install through pip (network access required) pip install sum2slides ``` ### Technical Analysis The setup helper invokes pip to retrieve and install packages from the active package index. Although it uses an argument list rather than a shell and therefore does not expose direct shell-command injection, it does not constrain the dependencies to exact reviewed versions or verify artifact hashes. The `>=` constraints allow future releases to be selected without further review. The actual source can also be affected by the user's pip index configuration, additional indexes, mirrors, or a compromised upstream account. Python package installation may execute package build backends and installation hooks, so a malicious artifact can run code during installation. The direct `pip install sum2slides` instruction similarly installs the pack ...[truncated 1664 chars]
Remediation
View remediation
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • 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
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (111)

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The file forces a single language presentation for all instructions and examples, and there is no opt-in, alternate language, or justification that the skill is intended only for Chinese-speaking users. This can violate language or locale policy where users should be given a choice or the restriction should be explicitly documented.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The document advertises '关键词触发/关键词自动触发' as a supported activation path but never defines the exact keywords, scope, or exclusion conditions. In a chat-integrated skill, ambiguous auto-triggering can cause unintended invocation on ordinary discussion text, leading to accidental processing of conversation content or disruptive behavior.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

This repeated mention of '关键词自动触发' reinforces an unclear activation model without specifying when the skill should or should not run. In the context of a summarization-to-PPT skill that may consume group chat content, unclear automatic activation increases the risk of accidental execution, privacy issues, and user confusion.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The document instructs users to send content and a specific account identifier to Feishu without clearly warning that data will be transmitted to an external service. In a skill context, this can lead users to unknowingly disclose document contents and identity-linked metadata, especially if they follow copy-paste instructions verbatim.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Medium
Category
Not specified by scanner
Confidence
97% confidence
Finding

The report embeds a specific owner_open_id and provides instructions to use it when creating a Feishu document, which is hardcoded account-identifying data. Even if not a secret like a password, this contradicts the claim that no hardcoded sensitive data exists and can cause misattribution, privacy exposure, or unintended document ownership if reused by others.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

This markdown file contains user-facing operational and support content exclusively in Chinese, including the title, conclusions, upload guidance, and support instructions. Under the policy for natural-language violations, forcing a specific language without user opt-in can be a locale policy issue when no justification or alternative is provided.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

This report makes strong security assurances such as 'fully passed' and 'ready to upload' without providing evidence, methodology, or verifiable scan output. In a security-sensitive distribution context, unsupported claims can mislead reviewers and users into trusting a skill that has not been adequately validated.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

The concluding claim that there are no security vulnerabilities or risks, combined with a recommendation for immediate upload, overstates assurance without demonstrable evidence in the document. This can directly influence deployment decisions and reduce scrutiny of the actual code and configuration.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
88% confidence
Finding

The guide describes the AI assistant automatically detecting slide-related requests and proactively offering to process them, but it does not define clear consent or activation boundaries. In this context, ambiguous auto-detection can result in the assistant processing user content without sufficiently explicit intent, which is risky when the content may include meeting notes, internal reports, or confidential discussions.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The configuration enables broad keyword-based auto-triggering using common terms such as '报告', '演示', and 'PPT', which can appear in ordinary conversation or unrelated documents. In an assistant-integrated skill, this can cause unintended invocation on sensitive or irrelevant content, leading to unexpected file creation, processing of private text, or downstream automated sharing.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

The guide promotes automated generation, copying, Slack notification, and email attachment workflows for meeting notes and daily reports, but it does not provide concrete safeguards around sensitive content, recipient validation, or approval before sharing. In this skill context, the generated slides are likely to contain internal business information, so automatic distribution increases the risk of accidental disclosure to the wrong channel, folder, or mailing list.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
97% confidence
Finding

This markdown file contains user-facing instructional text exclusively in Chinese from start to finish, and it does not indicate that the skill is region-specific or provide an opt-in language/locale choice. That can violate a language/locale policy when users are not given a choice of supported language.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

This YAML file sets language: "zh" as the default, which imposes a specific language/locale choice in configuration. Under the policy, forcing a language without user opt-in or clear justification is a natural-language policy violation.

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 user-facing natural-language strings, comments, and docstrings that consistently force Chinese as the interaction language. Under the language/locale policy, a skill should not impose a specific language unless it offers user choice or clearly documents a justified locale constraint.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
90% confidence
Finding

The file presents all user-facing instructions in Chinese, and there is no indication that the skill is region-specific or that users may choose another language. This can violate language/locale policy when a specific language is effectively forced without opt-in or justification.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
85% confidence
Finding

This plain-text skill content is written almost entirely in Chinese, including headings, usage descriptions, and resource labels, with no indication that users may choose another language or that the locale restriction is intentional. 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.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The skill is explicitly designed to summarize chat discussions into PPT content, but the documentation does not warn that this may capture, retain, and redistribute sensitive discussion details, decisions, or personal data. Because generated slides are easier to share and persist than transient chat, the feature can amplify confidentiality and privacy risks if users are not alerted and given controls.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
90% confidence
Finding

The documentation advertises very broad natural-language triggers such as '请将上述讨论总结为PPT' and similar variants without defining strict activation boundaries, scope rules, or confirmation requirements. In a chat environment, this can cause the skill to activate on ordinary conversation and transform surrounding discussion content into slides, increasing the risk of unintended processing or disclosure of sensitive chat material.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

This Python file is filled with user-facing strings in Chinese, including the module docstring, slide content, console output, and fallback text file content. Because the skill does not offer any language selection or indicate that it is intentionally region-specific, it appears to force a specific language/locale without user opt-in.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The function and module documentation describe this file as creating an OpenClaw demo presentation, which matches most of the code. However, the overall script behavior in main also performs an additional side effect by copying the output to a Samba share at L290-L295, which is not reflected in the stated intent and changes the script from simple generation to generation-plus-distribution.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
97% confidence
Finding

The script silently copies the generated presentation into a Samba shared folder without explicit user consent, confirmation, or a disable option. In a skill context, unexpected copying to a shared/network-accessible location can expose potentially sensitive presentation content to other users or systems and violates least surprise.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The file’s user-facing descriptions, prompts, and examples are entirely in Chinese, including the main scenario text and console output. There is no indication that the skill supports other languages, allows user opt-in for locale, or is explicitly limited to a China-specific deployment context.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

The script's stated purpose is only to generate a local demo PPT, but it additionally copies the generated file into a Samba shared folder. That creates an undocumented data egress path to a shared location, which can expose generated content, overwrite files in shared storage, or leak information if the PPT ever includes sensitive discussion data rather than only canned demo text.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The package description is written entirely in Chinese and presents the skill as the default user-facing description, with no indication that users may choose another language or that the skill is intended only for a Chinese-language audience. Under the policy, forcing a specific language without opt-in is a natural-language locale violation.

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 strings and documentation exclusively in Chinese, starting with the module docstring and continuing throughout status messages. Under the policy, forcing a specific language without opt-in is a natural-language policy violation unless the locale restriction is explicitly justified, which is not present here.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.