← Back to Skills Marketplace
Stirling PDF
by
angusthefuzz
· GitHub ↗
· v1.0.4
920
Downloads
2
Stars
4
Active Installs
5
Versions
Install in OpenClaw
/install stirling-pdf
Description
Self-hosted REST API for comprehensive PDF manipulation including merge, split, convert, OCR, compress, sign, redact, and secure PDFs.
Usage Guidance
This skill appears to be what it says: a small Node wrapper that uploads files to a Stirling-PDF REST API. Before installing or enabling it, verify the source (no homepage provided) and consider these practical precautions:
- Ensure STIRLING_PDF_URL points to a trusted instance (localhost or your own server). If you point it to a remote or third-party URL, any file you process will be uploaded there.
- If your PDFs contain sensitive data, avoid setting a remote URL or disable autonomous invocation so the agent cannot call the skill without your explicit command.
- If you will use an API key, store it in a secure secret store and confirm the key's scope on your Stirling-PDF instance.
- Inspect the included script (scripts/pdf.js) yourself — it's short and readable — or run it in an isolated environment before granting broader access.
- Because the skill's provenance is unknown (no homepage/source repo), prefer onboarding it in a sandbox or test account and confirm behavior against a local Stirling-PDF instance. If you need higher assurance, request a version published by a verifiable maintainer or from an official project repository.
Capability Analysis
Type: OpenClaw Skill
Name: stirling-pdf
Version: 1.0.4
The `scripts/pdf.js` wrapper script is vulnerable to local file disclosure and arbitrary file write due to insufficient input sanitization when constructing `curl` commands. User-controlled input for the output file path (`-o`) is passed directly to `curl`, allowing arbitrary file writes. Furthermore, user-controlled input for form field values (e.g., watermark text via `-t`) is passed to `curl -F`, which can be exploited by injecting `@/path/to/sensitive/file` to read and exfiltrate local files to the configured Stirling-PDF server. The `SKILL.md` directly instructs the AI agent to execute these commands with user-provided arguments, creating a prompt injection surface for these vulnerabilities.
Capability Assessment
Purpose & Capability
Name/description (self-hosted PDF REST API wrapper) aligns with the included files and runtime instructions. Declared required binaries (node, curl) are necessary for the provided CLI wrapper and curl-based requests. No unrelated credentials, binaries, or install behavior are requested.
Instruction Scope
SKILL.md instructs the agent to run the included Node wrapper which performs multipart POSTs of user-specified files to the configured STIRLING_PDF_URL endpoints. The script only reads files explicitly passed as arguments and environment variables STIRLING_PDF_URL / STIRLING_API_KEY. This is within scope for PDF operations, but it does mean any file you pass will be uploaded to whatever URL is configured (default localhost). If the URL is changed to a remote host, that can result in exfiltration of sensitive files — the behavior is expected but must be considered.
Install Mechanism
There is no install spec (instruction-only with one local script), so nothing is downloaded or written by an installer. Risk from installation is low because no arbitrary remote install URLs or package pulls are present.
Credentials
No required environment variables or secrets are forced by the registry metadata. The script uses two optional env vars (STIRLING_PDF_URL, STIRLING_API_KEY) which are appropriate for a REST API client. The number and type of env vars are proportional to the skill's purpose.
Persistence & Privilege
always is false and the skill does not request system-wide config changes or persist credentials. The skill can be invoked autonomously by the agent (platform default) but that is not itself unusual; consider restricting autonomous use if handling sensitive documents.
How to Use
- Make sure OpenClaw is installed (local or Docker)
- Run the install command in chat:
/install stirling-pdf - After installation, invoke the skill by name or use
/stirling-pdf - Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.4
Fix metadata format for env vars (use object format)
v1.0.3
Security fixes: removed .env file fallback, use spawn instead of execSync, proper env metadata
v1.0.2
Use OPENCLAW_STATE_DIR/os.homedir() for portable .env fallback
v1.0.1
Security fix: removed hardcoded .env paths, now uses process.env only; added env vars to metadata
v1.0.0
Initial release - PDF manipulation via Stirling-PDF API (merge, split, compress, OCR, watermark, convert)
Metadata
Frequently Asked Questions
What is Stirling PDF?
Self-hosted REST API for comprehensive PDF manipulation including merge, split, convert, OCR, compress, sign, redact, and secure PDFs. It is an AI Agent Skill for Claude Code / OpenClaw, with 920 downloads so far.
How do I install Stirling PDF?
Run "/install stirling-pdf" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.
Is Stirling PDF free?
Yes, Stirling PDF is completely free (open-source). You can download, install and use it at no cost.
Which platforms does Stirling PDF support?
Stirling PDF is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).
Who created Stirling PDF?
It is built and maintained by angusthefuzz (@angusthefuzz); the current version is v1.0.4.
More Skills