T08 · Insecure Dependencies
- Location
SKILL.md:330- Finding
Unpinned Third-Party Dependencies Create a Supply-Chain Risk
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md:330-334
Vulnerability Type: Unpinned and unverifiable third-party dependencies
Risk Level: MediumVulnerable snippet:
text | `python-docx` | Library | Required for document processing | `pip install python-docx` | | `openpyxl` | Library | Required for Excel processing | `pip install openpyxl` | | `python-pptx` | Library | Required for presentation processing | `pip install python-pptx` | | `pdfplumber` / `PyPDF2` | Library | Required for PDF processing | `pip install pdfplumber` | | `pandas` | Library | Required for data processing | `pip install pandas` |Technical Analysis
The Skill instructs the Agent to install multiple third-party Python packages without specifying reviewed versions, cryptographic hashes, a lockfile, or an explicitly trusted package index. Each installation therefore resolves mutable package versions from the environment's configured package repository at execution time.
This design exposes the Agent to package-repository compromise, dependency confusion, compromised maintainer releases, and malicious transitive dependencies. Python packages can execute code during installation, and imported packages execute with the permissions of the Agent process.
The listed package names are legitimate and there is no evidence that they are currently malicious. The vulnerability is the absence of controls ensuring that the installed artifacts are the same artifacts that were reviewed.
Attack Path
- An attacker compromises a listed package, one of its transitive dependencies, or a package index trusted by the runtime.
- The Skill is invoked in an environment where one or more dependencies are unavailable.
- The Agent follows the documented commands and installs the latest package version from the configured index.
- Malicious package code executes during installation or when the package is imported for document processing. ...[truncated 747 chars]
- Remediation
View remediation
Remediation Suggestions
- Pin every direct dependency to a reviewed, exact version.
- Generate and commit a lockfile that includes all transitive dependencies.
- Require cryptographic hashes during installation, such as through a hash-locked requirements file and
pip --require-hashes. - Configure an explicitly trusted HTTPS package index or an internally controlled package mirror.
- Install packages in an isolated virtual environment or disposable sandbox without administrator privileges.
- Run software-composition analysis and vulnerability scanning against direct and transitive dependencies.
- Separate dependency installation from normal Skill execution so runtime requests cannot silently install new package versions.
- Restrict the installation environment's access to sensitive documents, environment variables, and production credentials.
