T08 · Insecure Dependencies
Warning
- Location
- SKILL.md:20
- Finding
- Unpinned Third-Party Packages and Mutable Git Dependencies## Vulnerability Details **File Location**: `SKILL.md`, lines 20–60 **Vulnerability Type**: Untrusted and mutable software supply chain **Risk Level**: Medium The Skill directs users or agents to install KeepGPU and its dependencies without pinning package versions, verifying hashes, or fixing Git installations to an immutable commit. ```bash # CUDA example (change cu121 to your CUDA version) pip install --index-url https://download.pytorch.org/whl/cu121 torch pip install keep-gpu ``` ```bash # ROCm example (change rocm6.1 to your ROCm version) pip install --index-url https://download.pytorch.org/whl/rocm6.1 torch pip install keep-gpu[rocm] ``` ```bash pip install "git+https://github.com/Wangmerlyn/KeepGPU.git" ``` If SSH access is configured: ```bash pip install "git+ssh://git@github.com/Wangmerlyn/KeepGPU.git" ``` ROCm variant from Git URL: ```bash pip install "keep_gpu[rocm] @ git+https://github.com/Wangmerlyn/KeepGPU.git" ``` ### Option C: Install from a local source checkout (explicit path) ```bash git clone https://github.com/Wangmerlyn/KeepGPU.git cd KeepGPU pip install -e . ``` If the checkout already exists somewhere else, install by absolute path: ```bash pip install -e /absolute/path/to/KeepGPU ``` For ROCm users from local checkout: ```bash pip install -e ".[rocm]" ``` ### Technical Analysis The package-index commands resolve the latest versions available at installation time rather than a previously reviewed release. They also omit cryptographic package hashes. Consequently, later executions can install code that differs from the code originally assessed. The Git-based commands fetch the repository's mutable default branch because no tag or full commit SHA is specified. A force-push, compromised maintainer account, malicious upstream change, or repository transfer could therefore alter the effective payload without modifying this Skill. Python packag ...[truncated 1907 chars]
- Remediation
- ## Remediation Suggestions 1. Pin KeepGPU and PyTorch to explicitly reviewed versions instead of resolving their latest releases. 2. Generate a locked requirements file containing all transitive dependencies and cryptographic hashes, then install it with `pip install --require-hashes -r requirements.txt`. 3. For Git installations, append a reviewed full commit SHA, for example: ```bash pip install "git+https://github.com/Wangmerlyn/KeepGPU.git@<full-reviewed-commit-sha>" ``` 4. Verify the selected commit against an authenticated release, signed tag, or trusted upstream publication process. 5. Avoid editable installations for routine operation. Build an immutable wheel from reviewed source and install that artifact instead. 6. Perform installation inside a dedicated virtual environment or container under a non-privileged account. 7. Review package metadata, build configuration, installation hooks, and dependency changes before updating pinned versions. 8. Use an organization-controlled package mirror or artifact repository to retain and distribute verified packages.
