Back to skill
Skillv0.1.0

ClawScan security

Office To Md V2 · ClawHub's context-aware review of the artifact, metadata, and declared behavior.

Scanner verdict

BenignFeb 15, 2026, 4:38 AM
Verdict
benign
Confidence
medium
Model
gpt-5-mini
Summary
The skill's code, instructions, and declared dependencies are consistent with its stated purpose of converting PDF/DOC/DOCX/PPTX to Markdown, but it performs runtime shell operations (including writing temp files and attempting to install a Python package) that you should review and run in a controlled environment.
Guidance
This skill appears to do what it says (converting office files to Markdown). Before installing or running it: 1) Review and be comfortable with the PPTX converter's behavior — it writes a Python script to /tmp and may attempt to run `pip3 install python-pptx` automatically. If you prefer control, install python-pptx yourself in a controlled environment instead of letting the skill run pip. 2) Run the skill in an isolated environment (sandbox / container) until you trust it, because it executes shell commands (python3, unzip, pip3, rm -rf) and spawns child processes. 3) Update any hard-coded absolute paths in the examples/tests to avoid accidental access to host-specific paths. 4) Inspect or run `npm install` in a safe workspace to fetch Node dependencies from npmjs.org. If you need higher assurance, request the author/source or run the code review and dependency scans before using it with sensitive files.

Review Dimensions

Purpose & Capability
okThe name/description (convert office docs to Markdown) matches the included code and docs. Converters for PDF, DOCX, legacy DOC, and PPTX are present and the declared npm dependencies (mammoth, pdf-parse, turndown, word-extractor) align with the functionality.
Instruction Scope
noteSKILL.md and the wrapper instruct the agent to run the included Node scripts and read/write files (expected). However the PPTX converter and examples call out shell operations: creating a Python script in /tmp, executing python3, trying to pip3 install python-pptx at runtime, running unzip and rm -rf on temporary directories, and using child_process.execSync. Those steps expand the runtime scope beyond pure Node module behavior and should be reviewed before running on sensitive hosts.
Install Mechanism
noteThere is no formal install spec in the registry (instruction-only), but package.json and office-to-md/package.json rely on standard npm packages from npmjs.org (expected). The PPTX path includes a runtime pip3 install call (pip3 install python-pptx) invoked via execSync; that performs an external download from PyPI at runtime, which is functional but increases risk compared to declarative dependency installation.
Credentials
okThe skill does not request environment variables, credentials, or config paths. Example/test code references absolute paths under /root/.openclaw/workspace and a specific local .doc path (likely sample/test artifacts) but no secrets are required.
Persistence & Privilege
okThe skill does not request always:true, does not modify other skills, and exports a callable function. It writes temporary files (/tmp/extract_pptx.py) and output .md files next to inputs (expected behavior for a converter), but it does not assert permanent elevated privileges or persistent system-wide changes.