T08 · Insecure Dependencies
- Location
SKILL.md:36- Finding
Unpinned and Unverifiable Third-Party Dependency Installation
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 36–41
Vulnerability Type: Supply-chain risk caused by unpinned dependencies and an absent dependency manifest
Risk Level: MediumVulnerable Code
bash # Dependency installation pip install openpyxl pandas xlrd # Alternatively, use the bundled dependency file pip install -r scripts/requirements.txtThe same unpinned installation instructions are repeated in the dependency table at
SKILL.md, lines 333–335:markdown | openpyxl | Python library | Required | `pip install openpyxl` | | pandas | Python library | Required | `pip install pandas` | | xlrd | Python library | Optional | `pip install xlrd` |Technical Analysis
The Skill directs the Agent to install packages from pip's configured package index without exact version constraints or cryptographic hashes. Dependency resolution therefore relies on mutable external artifacts whose contents can change after the Skill has been reviewed.
The alternative command references
scripts/requirements.txt, but the audited project contains onlySKILL.md. Because the referenced manifest is absent, its package names, versions, transitive dependencies, and integrity controls cannot be audited.The named packages are legitimate packages, and the audit found no evidence that they are currently malicious. The security issue is the unsafe installation process: package-index compromise, a compromised future release, a malicious configured mirror, or dependency-resolution changes could cause an Agent to install and execute unreviewed code. Python packages may execute build-system code during installation, and installed package code executes when imported by the referenced processing scripts.
Attack Path
- An Agent loads the Skill and follows its environment-preparation instructions.
- The Agent runs
pip install openpyxl pandas xlrdusing its configured package index or mirror.
...[truncated 1040 chars]
- Remediation
View remediation
Remediation Suggestions
-
Add the referenced dependency manifest to the project and ensure it is included in security review.
-
Pin every direct and transitive dependency to an exact reviewed version.
-
Generate and enforce cryptographic hashes, for example:
bash python -m pip install --require-hashes -r scripts/requirements.txt -
Use a lock-generation workflow such as
pip-toolsto produce reproducible dependency sets for each supported Python version and platform. -
Configure an explicitly trusted package index or an internally controlled artifact repository rather than relying on arbitrary local pip configuration.
-
Install dependencies in an isolated virtual environment with minimal filesystem, credential, and network access.
-
Scan locked dependencies for known vulnerabilities and review updates before changing pinned versions or hashes.
-
Remove the command referencing
scripts/requirements.txtuntil that file is actually shipped with the package. -
Include the referenced application scripts in the package so their imports and dependency usage can be audited before execution.
-
