Trust Assessment
pdf-text-extractor received a trust score of 65/100, placing it in the Caution category. This skill has some security considerations that users should review before deployment.
SkillShield's automated analysis identified 3 findings: 1 critical, 0 high, 1 medium, and 0 low severity. Key findings include Unpinned npm dependency version, Arbitrary File Read via User-Controlled Path, Misleading 'Zero Dependencies' Claim.
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 14, 2026 (commit 13146e6a). SkillShield performs automated 4-layer security analysis on AI skills and MCP servers.
Layer Breakdown
Behavioral Risk Signals
Security Findings3
| Severity | Finding | Layer | Location | |
|---|---|---|---|---|
| CRITICAL | Arbitrary File Read via User-Controlled Path The `extractText` function directly uses `fs.readFileSync(pdfPath)` where `pdfPath` is a user-provided parameter. This allows an attacker to specify any file path on the system, potentially reading sensitive files (e.g., `/etc/passwd`, environment variables, private keys) and exfiltrating their content through the skill's output. The skill does not validate the file path or restrict access to a specific directory. Implement strict validation and sanitization of `pdfPath`. Ideally, restrict file access to a designated, isolated directory (e.g., a temporary upload folder) or use a secure file picker mechanism provided by the agent environment. If direct path input is necessary, ensure it's constrained to expected file types and locations, and consider using `fs.createReadStream` with appropriate error handling and size limits. | LLM | index.js:29 | |
| MEDIUM | Unpinned npm dependency version Dependency 'pdfjs-dist' is not pinned to an exact version ('^3.11.174'). Pin dependencies to exact versions to reduce drift and supply-chain risk. | Dependencies | skills/michael-laffin/pdf-text-extractor/package.json | |
| INFO | Misleading 'Zero Dependencies' Claim The skill's description in `SKILL.md` and `package.json` states 'Zero dependencies required' or 'Zero dependencies'. However, `package.json` explicitly lists `pdfjs-dist` as a dependency, which itself pulls in a significant dependency tree (as seen in `package-lock.json`). This misleading information could cause users to underestimate the supply chain attack surface and the number of third-party libraries involved. Correct the skill description and `package.json` to accurately reflect the actual dependencies. | LLM | SKILL.md:10 |
Scan History
Embed Code
[](https://skillshield.io/report/eac965c95a15a17f)
Powered by SkillShield