T08 · Insecure Dependencies
- Location
scripts/requirements.txt:1- Finding
Dependency installation is not reproducibly pinned or integrity-verified
- Content
View full analysis
=2.1,<3.0 matplotlib>=3.8,<4.0 seaborn>=0.13,<1.0 bokeh>=3.4,<4.0 ``` The skill directs users to install these dependencies: ```bash python3 -m pip install -r {baseDir}/scripts/requirements.txt ``` ### Technical Analysis The requirements specify broad version ranges rather than exact versions and do not provide cryptographic hashes. Consequently, two installations performed at different times can resolve to different package artifacts. Although the listed package names are established projects and no typosquatting was identified, the installation process implicitly trusts the configured Python package index, package maintainers, dependency resolver, transitive dependencies, and downloaded artifacts. It can also accept source distributions whose build backend executes code during installation. This is an insecure dependency-management practice rather than evidence that the currently named packages are malicious. ### Attack Path 1. A user follows the installation command in `SKILL.md`. 2. `pip` resolves the newest versions satisfying the broad ranges, including their transitive dependencies. 3. An attacker compromises an eligible package release, transitive dependency, package-index connection/configuration, or build artifact. 4. The compromised package or source-build backend executes during installation or later when imported by the plotting scripts. 5. The payload runs with the privileges of the user performing the installation. ### Impact Assessment Successful exploitation could execute arbitrary code as the installing user. This may permit access to files, environment variables, credentials, datasets, and network resources available to that account. It could also mo ...[truncated 322 chars]- Remediation
View remediation
