T08 · Insecure Dependencies
- Location
SKILL.md:255- Finding
Unpinned Third-Party Dependency Installation
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 255 and 425
Vulnerability Type: Insecure, unpinned third-party dependencies
Risk Level: MediumComplete Code Snippet
The same installation command appears at both identified locations:
bash pip install pdfplumber ezdxf pytesseract pillow opencv-pythonTechnical Analysis
The skill directs users or agents to install five packages without exact version constraints, package hashes, a lockfile, or a project-controlled dependency manifest. Consequently, installation resolves mutable package versions from the configured Python package index.
Python package installation may execute package build or installation logic. The effective code entering the environment can therefore change after this skill has been reviewed. Although the audit found no evidence that the named packages are currently malicious, the installation method lacks controls needed to ensure dependency integrity, reproducibility, and resistance to future supply-chain compromise.
The project contains only
SKILL.md; it does not include an implementation, dependency lockfile, or hash-verified requirements file. The examples also importcad_insight, but that module is neither included in the artifact nor installed by the documented command.Attack Path
- A user or agent loads the skill and follows its environment preparation instructions.
- It executes the documented
pip installcommand. pipqueries its configured package index and selects mutable package versions and transitive dependencies.- A compromised or unexpectedly modified dependency is downloaded.
- Package build or installation logic executes with the privileges of the account running
pip. - The compromised package can then execute whenever it is imported or invoked during CAD processing.
This is a conditional supply-chain path; the reviewed artifact does not itself retrieve a known malicious ...[truncated 662 chars]
- Remediation
View remediation
Remediation Suggestions
- Move dependencies into a reviewed requirements or lock file and pin every direct and transitive dependency to an exact version.
- Record cryptographic hashes and require verification during installation, for example:
bash pip install --require-hashes -r requirements.txt - Generate the lock file from a trusted environment using a dependency-management tool that supports transitive pinning and hashes.
- Explicitly configure and document the trusted package index rather than relying on an ambient
pipconfiguration. - Run dependency vulnerability and provenance checks before publishing each release.
- Perform installations in an isolated, least-privileged virtual environment or container.
- Add the missing
cad_insightimplementation or accurately document its trusted source and pin it using the same integrity controls. - Remove the duplicate inline installation commands and direct all installation flows through the verified lock file.
