Back to skill

Security audit

Doc Weaver

Security checks across malware telemetry and agentic risk

Overview

Doc Weaver is a local Markdown-to-Word/PDF conversion skill whose file access and subprocess use match its stated document-generation purpose.

Install only if you are comfortable running local Python document-conversion scripts and optional pandoc/weasyprint tooling. Review input and output paths before running commands, and treat untrusted Markdown like any document processed by local converters.

SkillSpector

By NVIDIA
Vulnerability Patterns
  • Output HandlingUnvalidated Output Injection, Cross-Context Output, Unbounded Output
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
  • 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 (3)

Lp3

Medium
Category
MCP Least Privilege
Confidence
91% confidence
Finding
The skill invokes local Python scripts that read user-supplied files, write output documents, and depend on shell-accessible tooling such as pandoc and verification commands, but it does not declare corresponding permissions. This creates a trust and containment gap: users or hosting platforms may treat the skill as lower risk than it is, while it can still access local files and execute external tooling during document generation or verification.

Unvalidated Output Injection

High
Category
Output Handling
Content
def run(cmd):
    result = subprocess.run(cmd, cwd=ROOT, text=True, capture_output=True)
    if result.returncode != 0:
        print(result.stdout)
        print(result.stderr, file=sys.stderr)
Confidence
95% confidence
Finding
subprocess.run(cmd, cwd=ROOT, text=True, capture_output

Unvalidated Output Injection

High
Category
Output Handling
Content
with open(css_path, 'w') as cf:
            cf.write(css_content)

        result = subprocess.run(
            [
                "pandoc", md_path,
                "-o", str(output_path),
Confidence
95% confidence
Finding
subprocess.run( [ "pandoc", md_path, "-o", str(output

VirusTotal

64/64 vendors flagged this skill as clean.

View on VirusTotal

Static analysis

No suspicious patterns detected.