Back to skill

Security audit

marker-pdf

Security checks for vulnerabilities and agentic risk

Overview

This skill is a coherent PDF/OCR conversion guide, but users should be careful with the remote installer command and optional external LLM processing for sensitive documents.

Install only from sources you trust, avoid piping remote scripts directly into a shell unless you have reviewed the installer, and do not use the external LLM options on confidential documents unless sending document text or images to that provider is acceptable. For sensitive files, prefer local OCR or a local Ollama setup.

Vulnerability Patterns
  • 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
  • Unauthorized Access and Privilege EscalationObtains permissions beyond the task's legitimate needs
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Tool MisuseTool Parameter Abuse, Chaining Abuse, Unsafe Defaults
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (4)

Chaining Abuse

High
Category
Tool Misuse
Content
```bash
# Option A: uv tool install (isolated, best for CLI use)
curl -LsSf https://astral.sh/uv/install.sh | sh
uv tool install marker-pdf

# Option B: uv venv + pip (if you need Python API access)
Confidence
93% confidence
Finding
The `| sh` construction chains network retrieval directly into shell execution, removing any opportunity for inspection and making compromise of the fetched content immediately actionable. In an agent skill, this is more dangerous because users may copy commands verbatim and automation may execute them with minimal scrutiny.

Missing User Warnings

Medium
Confidence
95% confidence
Finding
The skill recommends `--use_llm` with external providers like Gemini, Claude, and OpenAI for OCR improvement, which can transmit document contents to third-party services. Because this skill is specifically for converting potentially sensitive PDFs and scanned documents, the absence of an explicit privacy/data-sharing warning can cause users to unknowingly expose confidential material.

External Script Fetching

Low
Category
Supply Chain
Content
```bash
# Option A: uv tool install (isolated, best for CLI use)
curl -LsSf https://astral.sh/uv/install.sh | sh
uv tool install marker-pdf

# Option B: uv venv + pip (if you need Python API access)
Confidence
90% confidence
Finding
The installation instructions use `curl -LsSf https://astral.sh/uv/install.sh | sh`, which executes a remote script directly from the network without prior verification. If the hosting endpoint, transport, or upstream content is compromised, users may run arbitrary shell commands on their system.

Tool Parameter Abuse

Low
Category
Tool Misuse
Content
uv pip install marker-pdf

# Option C: Podman container (fully isolated)
podman run --rm -v ./pdfs:/data -it python:3.12-slim \
  bash -c "pip install marker-pdf && marker_single /data/input.pdf -o /data/output/"
```
Confidence
15% confidence
Finding
Tool parameters are crafted to achieve unintended or unsafe behavior. Parameter abuse can bypass intended safety checks (e.g. shell=True, --force, dangerous glob patterns).

Static analysis

No suspicious patterns detected.