Security Audit
dkyazzentwatwa/chatgpt-skills:form-filler
github.com/dkyazzentwatwa/chatgpt-skillsTrust Assessment
dkyazzentwatwa/chatgpt-skills:form-filler 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 4 findings: 0 critical, 1 high, 3 medium, and 0 low severity. Key findings include Unpinned Python dependency version, Unrestricted File System Access via User-Controlled Paths.
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 24, 2026 (commit d4bad335). SkillShield performs automated 4-layer security analysis on AI skills and MCP servers.
Layer Breakdown
Behavioral Risk Signals
Security Findings4
| Severity | Finding | Layer | Location | |
|---|---|---|---|---|
| HIGH | Unrestricted File System Access via User-Controlled Paths The skill allows users to specify arbitrary file paths for input PDFs, data files (JSON/CSV), output PDFs, and output directories. While `pathlib.Path.resolve()` is used in the CLI (implied by `SKILL.md` and common patterns, and partially visible in the truncated code), it only canonicalizes paths and does not restrict access to a specific working directory or prevent path traversal to sensitive system files (e.g., `/etc/passwd` for reading, or `/tmp/malicious_script.pdf` for writing). If the agent's execution environment does not enforce strict filesystem sandboxing, this could lead to unauthorized reading of arbitrary files (data exfiltration) or writing/overwriting of files in arbitrary locations. Implement strict path validation to ensure all file operations are confined to an allowed directory (e.g., a dedicated sandbox directory for the skill). This could involve checking if the resolved path is a subpath of a designated safe directory. Alternatively, rely on the agent's runtime environment to enforce robust filesystem sandboxing for all skill executions. | LLM | scripts/form_filler.py:30 | |
| MEDIUM | Unpinned Python dependency version Requirement 'PyMuPDF>=1.23.0' is not pinned to an exact version. Pin Python dependencies with '==<exact version>'. | Dependencies | form-filler/scripts/requirements.txt:1 | |
| MEDIUM | Unpinned Python dependency version Requirement 'pillow>=10.0.0' is not pinned to an exact version. Pin Python dependencies with '==<exact version>'. | Dependencies | form-filler/scripts/requirements.txt:2 | |
| MEDIUM | Unpinned Python dependency version Requirement 'pandas>=2.0.0' is not pinned to an exact version. Pin Python dependencies with '==<exact version>'. | Dependencies | form-filler/scripts/requirements.txt:3 |
Scan History
Embed Code
[](https://skillshield.io/report/c7bc20d47c769c1c)
Powered by SkillShield