Back to skill

Security audit

PPT 转视频 PPT to Video

Security checks across malware telemetry and agentic risk

Overview

This skill is not clearly malicious, but it needs review because a PPT-named skill can route broader document-to-video work and uploaded files to an external dLazy service.

Install only if you are comfortable sending prompts, project context, and any explicitly attached files to dLazy. Prefer the npx path or another isolated execution method over a global install, verify the @dlazy/cli package/source before use, attach only intended files, and avoid sensitive non-presentation documents unless the publisher clarifies the broader document-to-video scope and upload controls.

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
SKILL.md:5
Finding
Execution of an Externally Retrieved npm Dependency Without Locally Verifiable Integrity## Vulnerability Details **File Location**: `SKILL.md:5`, `SKILL.md:51-59`; equivalent installation configuration also appears in `SKILL-cn.md:5` and `SKILL-cn.md:51-59` **Vulnerability Type**: Third-party dependency and software supply-chain exposure **Risk Level**: Medium ### Vulnerable Code From `SKILL.md:5`: ```yaml metadata: {"clawdbot":{"emoji":"📄","requires":{"bins":["npm","npx"]},"install":"npm install -g @dlazy/cli@1.2.3","installAlternative":"npx @dlazy/cli@1.2.3","homepage":"https://github.com/dlazy-ai/cli","source":"https://github.com/dlazy-ai/cli","author":"dlazyai","license":"see-repo","npm":"https://www.npmjs.com/package/@dlazy/cli","configLocation":"~/.dlazy/config.json","apiEndpoints":["api.dlazy.com","files.dlazy.com"]},"openclaw":{"systemPrompt":"When this skill is called, run 'dlazy chat --skill file-to-video --prompt ...' for a new task, or 'dlazy chat --project <id> --prompt ...' to continue (discover ids via 'dlazy projects list'). Never pass both --skill and --project."}} ``` From `SKILL.md:51-59`: ```markdown You can install on demand without persisting a global binary by running: ```bash npx @dlazy/cli@1.2.3 <command> ``` Or, if you prefer a global install, the skill's `metadata.clawdbot.install` field declares the exact pinned version (`npm install -g @dlazy/cli@1.2.3`). Review the GitHub source before installing. ``` ### Technical Analysis The skill delegates its substantive behavior to the external `@dlazy/cli` npm package. Although the dependency is pinned to version `1.2.3`, the audited project does not contain the package source, a lockfile, a cryptographic integrity value, a signed artifact, or a vendored copy that would permit verification of the code executed at runtime. Both supported installation paths execute code obtained outside the audited artifact: - `npx @dlazy/cli@1.2.3` can download and immediately execute the npm package. - `npm install -g @dlazy/cli@1 ...[truncated 2482 chars]
Remediation
## Remediation Suggestions 1. Vendor the exact reviewed CLI implementation or distribute it as an immutable, internally controlled artifact. 2. Record and verify the package archive's cryptographic integrity before execution rather than relying only on a semantic version. 3. Enable npm provenance or signature verification and document the expected publisher identity and verification procedure. 4. Audit and lock the complete transitive dependency graph using a committed lockfile where applicable. 5. Prefer ephemeral, isolated execution over global installation. Run the CLI in a container or sandbox with access limited to the explicitly selected input files. 6. Restrict outbound network access to the documented service endpoints where operationally feasible. 7. Provide credentials to the process with the narrowest possible scope, rotate them regularly, and avoid exposing unrelated environment variables. 8. Add an explicit confirmation step before uploading local files, clearly identifying the selected files and the external destinations. 9. Continuously scan the pinned package and its dependencies for published vulnerabilities, ownership changes, and unexpected artifact changes.

SkillSpector

By NVIDIA
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 (4)

Description-Behavior Mismatch

Medium
Confidence
90% confidence
Finding
The skill metadata advertises a PPT/PowerPoint/Keynote-only capability, but the body broadens scope to Word, Excel, PDF, and generic documents. This mismatch can cause the skill to be invoked in contexts the user and orchestrator did not intend, leading to unnecessary file upload of unrelated sensitive documents to a third-party SaaS backend.

Intent-Code Divergence

Medium
Confidence
88% confidence
Finding
The documentation states the skill is pinned to a generic `file-to-video` template rather than a PPT-specific workflow, contradicting the declared skill purpose. That increases the chance that broader backend behavior is triggered than the user expects, especially since attached files are uploaded remotely and the actual processing scope is delegated to a hosted agent.

Vague Triggers

Medium
Confidence
84% confidence
Finding
The top-level trigger/description is broad enough to match more than PPT conversion requests, increasing the risk of unintended invocation. In this skill, unintended invocation is security-relevant because it routes user prompts and uploaded files to external endpoints (`api.dlazy.com` and `files.dlazy.com`).

Vague Triggers

Medium
Confidence
86% confidence
Finding
Several trigger keywords are generic, such as broad document/video and explainer-style phrases, which may activate the skill for unrelated tasks. Because the skill uploads local files and sends content to a hosted service, accidental activation can expose data outside the user's intended workflow.

VirusTotal

64/64 vendors flagged this skill as clean.

View on VirusTotal

Static analysis

No suspicious patterns detected.