Trust Assessment
pdf-form-filler received a trust score of 79/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 2 findings: 0 critical, 1 high, 1 medium, and 0 low severity. Key findings include Unpinned Python dependency version, Arbitrary File Read via JSON Data Path.
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 12, 2026 (commit 13146e6a). SkillShield performs automated 4-layer security analysis on AI skills and MCP servers.
Layer Breakdown
Behavioral Risk Signals
Security Findings2
| Severity | Finding | Layer | Location | |
|---|---|---|---|---|
| HIGH | Arbitrary File Read via JSON Data Path The `main` function, exposed as a console script, allows the `data_json` argument to be a file path. The function attempts to read and parse this file as JSON using `json.load()`. An attacker could provide a path to a sensitive JSON-formatted file (e.g., configuration files, credential files if formatted as JSON) on the system. If successfully parsed, the contents of this file would be loaded into the `data` dictionary. This `data` is then used to populate fields in the `output_pdf`, which is also user-controlled, allowing for potential data exfiltration when the attacker retrieves the generated PDF. Restrict the `data_json` argument to only accept inline JSON strings, or implement robust path validation to ensure file paths are within an expected, non-sensitive directory. Alternatively, if file paths are necessary, ensure that the skill's execution environment has strict file system access controls (e.g., sandboxing) to prevent access to sensitive locations. Consider adding a whitelist for allowed file extensions or directories if file-based input is critical. | LLM | pdf_form_filler/fill_pdf_form.py:144 | |
| MEDIUM | Unpinned Python dependency version Requirement 'pdfrw>=0.4' is not pinned to an exact version. Pin Python dependencies with '==<exact version>'. | Dependencies | skills/raulsimpetru/pdf-form-filler/requirements.txt:1 |
Scan History
Embed Code
[](https://skillshield.io/report/1a92dcc59bd74eb9)
Powered by SkillShield