T08 · Insecure Dependencies
Warning
- Location
- SKILL.md:12
- Finding
- Unpinned External Repository Is Installed and Executed<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md:12-16`; duplicated in `references/setup.md:10-14` **Vulnerability Type**: Unpinned executable third-party dependency **Risk Level**: Medium ### Vulnerable Code From `SKILL.md:12-16`: ```bash git clone https://github.com/The0xKa1/habitat-gs-bridge.git cd habitat-gs-bridge pip install -e . ``` The same installation sequence appears in `references/setup.md:10-14`: ```bash git clone https://github.com/The0xKa1/habitat-gs-bridge.git cd habitat-gs-bridge pip install -e . ``` ### Technical Analysis The installation instructions clone the mutable default branch of a personal GitHub repository and install it in editable mode. They do not pin an immutable commit or release, verify a checksum or signature, or provide a reviewed dependency lock file. A Python package installation may execute package build hooks and installs code that will subsequently run under the installing user's account. Because the upstream revision is not constrained, the effective code installed by these instructions can change after this Skill has been reviewed. Compromise of the upstream account, repository, dependencies, or release process could therefore introduce arbitrary executable code. ### Attack Path 1. An attacker compromises the upstream repository, maintainer account, or an unpinned transitive dependency. 2. The attacker adds malicious Python code or installation/build hooks to the repository's default branch. 3. A user follows the documented `git clone` instructions, receiving the attacker-controlled revision. 4. The user runs `pip install -e .`, which may invoke malicious build logic and makes the package available for execution. 5. The malicious code executes during installation or when `hab-cli` or `habitat-gs-bridge` is subsequently invoked. ### Impact Assessment Successful exploitation can execute arbitrary code with the privileges of the user performing the installation or running the installed commands. D ...[truncated 508 chars]
- Remediation
- <![CDATA[ ## Remediation Suggestions 1. Pin the repository to a reviewed, immutable commit hash or a signed release tag: ```bash git clone https://github.com/The0xKa1/habitat-gs-bridge.git cd habitat-gs-bridge git checkout --detach <reviewed-commit-sha> ``` 2. Publish and verify the expected commit hash, release signature, and artifact checksum through a trusted channel. 3. Replace editable installation with a reproducible, versioned package installation where practical. 4. Lock all transitive Python dependencies with hashes, such as through a hash-verified requirements or lock file. 5. Review package build metadata and installation hooks before installation. 6. Install and run the bridge in an isolated virtual environment, container, or dedicated least-privileged account. 7. Avoid exposing host credentials or sensitive directories to the simulator environment. 8. Update both `SKILL.md` and `references/setup.md` so insecure fallback instructions are not retained in either file. ]]>
