Trust Assessment
pdf-extract received a trust score of 95/100, placing it in the Trusted category. This skill has passed all critical security checks and demonstrates strong security practices.
SkillShield's automated analysis identified 1 finding: 0 critical, 0 high, 1 medium, and 0 low severity. Key findings include Potential Command Injection via User-Supplied Filename.
The analysis covered 4 layers: Manifest Analysis, Static Code Analysis, Dependency Graph, LLM Behavioral Safety. All layers scored 70 or above, reflecting consistent security practices.
Last analyzed on February 13, 2026 (commit 13146e6a). SkillShield performs automated 4-layer security analysis on AI skills and MCP servers.
Layer Breakdown
Behavioral Risk Signals
Security Findings1
| Severity | Finding | Layer | Location | |
|---|---|---|---|---|
| MEDIUM | Potential Command Injection via User-Supplied Filename The skill's usage examples in `SKILL.md` demonstrate invoking `pdf-extract` with a user-controlled filename (e.g., `pdf-extract "document.pdf"`). If the underlying implementation of `pdf-extract` (which is not provided in this context) directly concatenates this user input into a shell command that calls `pdftotext` without proper sanitization or escaping, it could lead to command injection. An attacker could craft a malicious filename (e.g., `"; rm -rf /; #.pdf"`) to execute arbitrary commands on the host system. Ensure that all user-supplied arguments passed to external commands (like `pdftotext`) are properly sanitized and escaped. When executing external commands, prefer using argument lists (e.g., `subprocess.run(['pdftotext', filename, 'output.txt'])` in Python) over shell=True, or implement robust quoting/escaping if shell execution is necessary. Additionally, validate input filenames to ensure they conform to expected patterns and do not contain shell metacharacters. | LLM | SKILL.md:10 |
Scan History
Embed Code
[](https://skillshield.io/report/a87c40302b2a414f)
Powered by SkillShield