Back to skill

Security audit

Pptx To Html

Security checks for vulnerabilities and agentic risk

Overview

This skill is a straightforward PowerPoint-to-HTML converter that uses the disclosed MinerU CLI and token, with normal dependency and privacy caveats.

Before installing, make sure you trust the MinerU CLI source and are comfortable giving it your MINERU_TOKEN and any presentations you convert. Prefer reviewing or pinning a specific mineru-open-api version if reproducible installs matter.

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
Unpinned Executable Dependencies## Vulnerability Details **File Location**: `SKILL.md:5, 15-17` **Vulnerability Type**: Unpinned third-party executable dependencies **Risk Level**: Medium ### Vulnerable Code ```yaml metadata: {"openclaw": {"emoji": "📄", "requires": {"bins": ["mineru-open-api"], "env": ["MINERU_TOKEN"]}, "primaryEnv": "MINERU_TOKEN", "install": [{"id": "npm", "kind": "node", "package": "mineru-open-api", "bins": ["mineru-open-api"], "label": "Install via npm"}, {"id": "go", "kind": "go", "package": "github.com/opendatalab/MinerU-Ecosystem/cli/mineru-open-api", "bins": ["mineru-open-api"], "label": "Install via go install", "os": ["darwin", "linux"]}]}} ``` ```bash npm install -g mineru-open-api # or via Go (macOS/Linux): go install github.com/opendatalab/MinerU-Ecosystem/cli/mineru-open-api@latest ``` ### Technical Analysis Both documented installation methods retrieve mutable dependency versions. The npm command omits a version and therefore installs the version currently selected by the package registry. The Go command explicitly selects `@latest`. Neither method pins an audited release, commit, checksum, or package integrity value. As a result, the executable installed by future users may differ from the executable present when the skill was reviewed. A compromised upstream release, package-registry account, source repository, or maintainer account could distribute attacker-controlled code through these installation instructions. The global npm installation increases the local exposure because it installs the CLI into the user's global environment. No evidence establishes that the current MinerU package is malicious. The issue is the absence of reproducible version and integrity controls. ### Attack Path 1. An attacker compromises an upstream maintainer account, package publication process, source repository, or release pipeline. 2. The attacker publishes a malicious version of `mineru-open-api` or causes a malicious Go revisio ...[truncated 1076 chars]
Remediation
## Remediation Suggestions - Pin the npm dependency to a specifically reviewed version, for example `mineru-open-api@<reviewed-version>`. - Replace Go's `@latest` reference with a reviewed semantic version or immutable commit identifier. - Keep the versions in the metadata installation declarations consistent with those in the installation examples. - Prefer project-local npm installation over global installation where operationally practical. - Use a lockfile and package-manager integrity metadata for reproducible installations. - Verify release signatures or published checksums before installation where the upstream project provides them. - Establish a dependency update process that reviews and tests each new version before changing the pinned reference. - Document that the CLI receives access to `MINERU_TOKEN` and may process presentation contents, so users can make an informed trust decision before installing or invoking it.
Vulnerability Patterns
  • 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
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (1)

Vague Triggers

Medium
Confidence
89% confidence
Finding
The manifest description includes trigger-style phrases such as 'turn my slides into HTML' and 'is there a skill for PowerPoint to HTML' without any explicit exclusion conditions or tighter activation boundaries. In a manifest file, this can make invocation conditions overly broad and increase the chance of unintended activation from ordinary user requests about presentations.

Static analysis

No suspicious patterns detected.