Trust Assessment
drawing-analyzer received a trust score of 77/100, placing it in the Mostly Trusted category. This skill has passed most security checks with only minor considerations noted.
SkillShield's automated analysis identified 3 findings: 0 critical, 1 high, 1 medium, and 1 low severity. Key findings include Missing required field: name, Arbitrary File Read via 'pdf_path' parameter, Unpinned dependency 'pdfplumber'.
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 Findings3
| Severity | Finding | Layer | Location | |
|---|---|---|---|---|
| HIGH | Arbitrary File Read via 'pdf_path' parameter The `analyze_pdf_drawing` method accepts a `pdf_path` string as input and directly uses it with `pdfplumber.open()`. If an attacker can control this input, they can specify paths to arbitrary files on the system (e.g., `/etc/passwd`, `~/.ssh/id_rsa`, or sensitive application configuration files). The skill will attempt to open and read these files, potentially leading to data exfiltration or information disclosure, even if `pdfplumber` fails to parse them as valid PDFs. Implement strict input validation for `pdf_path` to ensure it points only to allowed PDF files within a designated, sandboxed directory. Alternatively, pass file content directly to the skill instead of a path, or use a secure file access mechanism that restricts access to a specific, temporary directory. | LLM | SKILL.md:87 | |
| MEDIUM | Missing required field: name The 'name' field is required for claude_code skills but is missing from frontmatter. Add a 'name' field to the SKILL.md frontmatter. | Static | skills/datadrivenconstruction/drawing-analyzer/SKILL.md:1 | |
| LOW | Unpinned dependency 'pdfplumber' The `pdfplumber` dependency is specified without a pinned version (`pip install pdfplumber`). This can lead to non-deterministic builds and potential introduction of vulnerabilities or breaking changes if a new version is released with issues. While `pdfplumber` is a legitimate library, unpinned dependencies are a general supply chain risk. Pin the dependency to a specific version, e.g., `pip install pdfplumber==X.Y.Z`, to ensure consistent and secure deployments. | LLM | SKILL.md:304 |
Scan History
Embed Code
[](https://skillshield.io/report/712a1a56a15303de)
Powered by SkillShield