T08 · Insecure Dependencies
- Location
requirements.txt:1- Finding
Ambiguous and Unpinned Third-Party Dependencies
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This skill is a local PDF/SVG text repair helper, but its install dependencies are ambiguous and its repair command can report success without creating repaired files.
Review before installing. Use an isolated environment, replace ambiguous dependencies with pinned canonical packages such as PyMuPDF and beautifulsoup4, and do not rely on the normal repair command as proof that a repaired PDF/SVG was created. Treat JSON exports as sensitive because they can contain extracted document text and file paths.
requirements.txt:1Ambiguous and Unpinned Third-Party Dependencies
scripts/main.py:153Repair Operations Report Success Without Creating Output Artifacts
Referenced artifact was not completely inspected
python -m py_compile scripts/main.py
Referenced artifact was not completely inspected
python -m py_compile scripts/main.py
Referenced artifact was not completely inspected
python -m py_compile scripts/main.py
Referenced artifact was not completely inspected
python -m py_compile scripts/main.py
Referenced artifact was not completely inspected
python -m py_compile scripts/main.py
Referenced artifact was not completely inspected
python -m py_compile scripts/main.py
Referenced artifact was not completely inspected
python -m py_compile scripts/main.py
Referenced artifact was not completely inspected
python -m py_compile scripts/main.py
Referenced artifact was not completely inspected
python -m py_compile scripts/main.py
Referenced artifact was not completely inspected
python -m py_compile scripts/main.py
Referenced artifact was not completely inspected
python -m py_compile scripts/main.py
Referenced artifact was not completely inspected
python -m py_compile scripts/main.py
Referenced artifact was not completely inspected
python -m py_compile scripts/main.py
Referenced artifact was not completely inspected
python -m py_compile scripts/main.py
The skill documents commands that read input files and write repaired outputs, but it does not declare any explicit tool scope such as permissions or allowed-tools. In an agent environment, this can cause the runtime or reviewer to underestimate the skill's filesystem access, increasing the chance of over-broad or unintended file reads/writes when the skill is invoked on attacker-influenced paths.
The export path saves full extracted text blocks/elements, original file path, and suggested fixes into a JSON file, which may contain sensitive document contents. Although the file write is implemented, there is no docstring warning, comment, or user-facing disclosure that exporting will persist potentially sensitive text to disk.
The dependency 'bs4' is unpinned, so installs may resolve to different versions over time, including versions with newly introduced vulnerabilities or breaking behavior. In a file-processing skill that may be run in automated environments, this weakens supply-chain integrity and makes builds less reproducible.
bs4
dataclasses
fitz
The dependency 'dataclasses' is unpinned, which allows uncontrolled version drift and undermines reproducible builds. While lower risk than direct code execution issues, dependency drift can still introduce vulnerable or incompatible packages; additionally, 'dataclasses' is unnecessary on modern Python versions where it is part of the standard library, which increases avoidable supply-chain exposure.
bs4
dataclasses
fitz
The dependency 'fitz' is unpinned, creating supply-chain risk from version drift and non-reproducible installs. This is more concerning in this skill's context because PDF/SVG parsing libraries process untrusted file content and have historically been a higher-risk class for memory corruption, denial of service, or parser bugs if a vulnerable release is installed.
bs4
dataclasses
fitz
No suspicious patterns detected.