T08 · Insecure Dependencies
Warning
- Location
- SKILL.md:53
- Finding
- Unpinned Third-Party Package Installation## Vulnerability Details **File Location**: `SKILL.md`, lines 53-61 **Vulnerability Type**: Unpinned third-party dependency installation **Risk Level**: Medium ### Vulnerable Code ```bash **Ubuntu / Debian:** ```bash pip install git-filter-repo ``` **Windows:** ```bash pip install git-filter-repo ``` ``` ### Technical Analysis The Skill instructs users to install `git-filter-repo` from the package index without specifying a reviewed version, integrity hash, trusted index URL, or signature-verification procedure. Consequently, the package artifact installed when the instructions are followed may differ from the artifact that existed when the Skill was audited. This creates supply-chain exposure if the upstream package, maintainer account, package index, or dependency resolution process is compromised. A malicious release could execute code during installation or when the installed command is subsequently invoked. The package name itself does not appear to be a typosquat, and the audited Skill contains no evidence that the legitimate package is currently malicious; the finding concerns the unsafe, mutable dependency-installation procedure. ### Attack Path 1. An attacker compromises the package publisher, package distribution channel, or a dependency selected during installation. 2. The attacker publishes a malicious version that still resolves under the unpinned command. 3. A user follows the Skill and runs `pip install git-filter-repo`. 4. The package manager retrieves the attacker-controlled release because no version or artifact hash is enforced. 5. Malicious code executes during installation or when the user later invokes `git filter-repo`. ### Impact Assessment Successful exploitation could execute arbitrary code with the privileges of the user running `pip`. This could expose repository contents, Git credentials, SSH keys, environment variables, and other files accessible to that account. It could a ...[truncated 294 chars]
- Remediation
- ## Remediation Suggestions 1. Pin `git-filter-repo` to a specifically reviewed version rather than installing the latest available release: ```bash python -m pip install "git-filter-repo==REVIEWED_VERSION" ``` 2. Require hash verification using a locked requirements file: ```text git-filter-repo==REVIEWED_VERSION \ --hash=sha256:VERIFIED_ARTIFACT_HASH ``` Then install it with: ```bash python -m pip install --require-hashes -r requirements.txt ``` 3. Obtain hashes from a trusted source and review the exact package artifact before documenting it. 4. Use an explicitly approved package index or an internally controlled artifact mirror instead of relying on mutable default package-index configuration. 5. Recommend installation in an isolated virtual environment or through a controlled package-management environment with minimal privileges. 6. Do not run the installation as root or administrator unless strictly necessary. 7. Establish a process for periodically reviewing and deliberately updating the pinned version and hashes after security validation.
