T08 · Insecure Dependencies
- Location
SKILL.md:238- Finding
Unpinned Third-Party Dependency Installation
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 238 and 451
Vulnerability Type: Unpinned and unverifiable third-party dependency installation
Risk Level: MediumVulnerable Code
At line 238:
bash pip3 install pandasThe same installation instruction is repeated at line 451:
markdown | pandas | Python library | Required | `pip3 install pandas` |Technical Analysis
The Skill instructs the Agent to install
pandaswithout specifying an exact version, package hash, lockfile, or trusted package index. Consequently, the package and its transitive dependencies are resolved dynamically from the Python package index configured in the execution environment.This makes installation results mutable and prevents verification that the installed artifacts are the same artifacts reviewed or tested by the Skill author. If the configured index, a future package release, or a transitive dependency is compromised, package installation can introduce attacker-controlled code into the Agent environment.
No evidence was found that the current
pandaspackage or its dependencies are compromised. The vulnerability is the Skill's unsafe and non-reproducible dependency acquisition process.Attack Path
- An Agent loads the Skill and follows its dependency setup instructions.
- The Agent executes
pip3 install pandas. pipcontacts the package index configured in the environment and dynamically resolves the latest compatible package and transitive dependencies.- An attacker who has compromised a resolved package release, dependency, package index, or index configuration supplies a malicious distribution.
- The malicious component executes during installation or when the installed library is subsequently imported.
- The payload operates with the privileges and environmental access of the Agent process.
Impact Assessment
Successful supply-chain exploitation could permi ...[truncated 691 chars]
- Remediation
View remediation
Remediation Suggestions
- Pin
pandasand every transitive dependency to reviewed, exact versions. - Store dependencies in a lockfile or hash-locked requirements file, for example:
text pandas==<reviewed-version> --hash=sha256:<verified-wheel-hash> - Install with hash enforcement:
bash python3 -m pip install --require-hashes -r requirements.txt - Explicitly select an approved HTTPS package index and disable unintended additional indexes to reduce dependency-confusion exposure.
- Prefer pre-reviewed binary wheels from a controlled artifact repository.
- Perform dependency vulnerability and provenance scanning before publishing updates.
- Run package installation and analysis in an isolated virtual environment or sandbox with minimal filesystem, credential, and network access.
- Replace both unpinned installation instructions in
SKILL.mdwith the same reproducible, verified installation procedure.
- Pin
