T08 · Insecure Dependencies
- Location
- references/cli-installation-guide.md:5
- Finding
- Unpinned Aggregate Dependency Expands the Supply-Chain Attack Surface<![CDATA[ ## Vulnerability Details **File Location**: `references/cli-installation-guide.md:5-19` **Vulnerability Type**: Unpinned and unnecessarily broad third-party dependency **Risk Level**: Medium ### Vulnerable Code ```markdown ### Option 1: Install all packages (recommended) ```bash pip install hw-cloudrobo-client ``` This installs the aggregate package with all functional modules (asset, dataset, train, eval, infer, robot, dispatch, workspace). ### Option 2: Install only robot package ```bash pip install hw-cloudrobo-client ``` This installs `cloudrobo-core` (CLI framework) + `cloudrobo-robot`. ``` ### Technical Analysis The installation command does not pin an audited package version or verify package hashes. Consequently, installation resolves whichever release the configured Python package index currently considers appropriate. If a future release or its distribution channel is compromised, installation can execute altered package installation logic without any corresponding change to this Skill. The purported minimal installation option also installs the same aggregate package as the full installation option. According to the guide, the aggregate package includes asset, dataset, training, evaluation, inference, dispatch, and workspace functionality. Those components exceed the robot-management functionality needed by this Skill and unnecessarily enlarge the dependency and executable-code surface. This finding does not establish that the current `hw-cloudrobo-client` package is malicious. The risk arises from mutable, unverified dependency resolution and installation of components beyond the declared minimum scope. ### Attack Path 1. An attacker compromises the package publisher account, distribution infrastructure, or a future release of `hw-cloudrobo-client`. 2. Malicious installation or runtime logic is added to the release selected by `pip`. 3. A user follows the Skill documentation and runs `pip install hw-cloudrobo-client`. 4. Pip d ...[truncated 840 chars]
- Remediation
- <![CDATA[ ## Remediation Suggestions 1. Pin the dependency to a specifically reviewed version, for example: ```bash python -m pip install "hw-cloudrobo-client==<reviewed-version>" ``` 2. Publish and use a lock file or requirements file containing SHA-256 hashes, and install with: ```bash python -m pip install --require-hashes -r requirements.txt ``` 3. Explicitly configure an approved package index and disable unintended fallback indexes where operationally feasible. 4. Provide a genuine robot-only distribution containing only `cloudrobo-core`, `cloudrobo-robot`, and their necessary transitive dependencies. 5. Generate and verify a software bill of materials, scan dependencies before release, and document the exact package version covered by the Skill audit. 6. Avoid recommending editable or mutable-source installations unless a commit hash is pinned and repository authenticity is verified. ]]>
