T08 · Insecure Dependencies
- Location
SKILL.md:106- Finding
Unpinned Third-Party Dependency Installation
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md:106
Vulnerability Type: Unpinned package installation from a mutable package index
Risk Level: MediumVulnerable Code:
bash pip install pandas numpy matplotlib seaborn scipy statsmodels alphalens quantstatsTechnical Analysis
The installation instruction resolves all dependencies from the package index without version constraints, cryptographic hashes, or a reviewed lockfile. Consequently, the effective code installed by this command can change over time even though the Skill itself remains unchanged.
Python packages may execute package-controlled code during installation and later during import. If a listed package, a transitive dependency, or the package-index delivery path is compromised, executing this instruction could install and run attacker-controlled code. Unintentional breaking or vulnerable dependency updates are also possible.
This is a supply-chain weakness rather than evidence that any currently listed package is malicious.
Attack Path
- A user or agent follows the dependency installation instruction in
SKILL.md. pipqueries its configured package index and resolves mutable package versions and transitive dependencies.- An attacker compromises a dependency release, maintainer account, package-index path, or dependency name resolution.
pipdownloads and installs the attacker-controlled distribution.- Malicious package code runs during installation or when the Skill imports the affected dependency.
- The payload executes with the privileges and environmental access of the user running
pipor the analysis process.
Impact Assessment
Successful exploitation could provide arbitrary code execution under the installing user's account. The resulting scope may include access to project files, factor and market datasets, process environment variables, user-writable files, and network resources available to ...[truncated 333 chars]
- A user or agent follows the dependency installation instruction in
- Remediation
View remediation
Remediation Suggestions
- Pin every direct dependency to a reviewed, exact version.
- Resolve and pin all transitive dependencies in a lockfile.
- Record cryptographic hashes and install with
pip --require-hashes. - Obtain packages only from an explicitly configured, trusted index or an internally controlled artifact repository.
- Install dependencies in an isolated virtual environment or container under a non-privileged account.
- Avoid running package installation with root or administrator privileges.
- Add automated dependency vulnerability, provenance, and license scanning.
- Review and update the lockfile through a controlled process rather than resolving unrestricted latest versions at runtime.
