T08 · Insecure Dependencies
Error
- Location
- SKILL.md:27
- Finding
- Unpinned Third-Party Trading Package Installation## Vulnerability Details **File Location**: `SKILL.md`, lines 27-34 **Vulnerability Type**: Unpinned and unverified third-party dependency **Risk Level**: High ### Vulnerable Code ```bash ## Preconditions 1. Install platform wheel for `fubon_neo`. 2. Install `fubon-cli`. 3. Ensure certificate files and account credentials are available. Example: ```bash pip install ./wheels/fubon_neo-2.2.8-cp37-abi3-win_amd64.whl pip install fubon-cli ``` ``` ### Technical Analysis The instructions install `fubon-cli` from the configured Python package index without specifying an exact version, package hash, trusted repository, or signature-verification procedure. Consequently, the code installed at different times may not be the same code that was reviewed. This conflicts with the document's later claim that the Skill is version-bound to the CLI package because the installation command does not technically enforce that binding. The package is especially sensitive because it is expected to receive brokerage credentials, access account information, and execute real-money trades. This finding does not establish that the current `fubon-cli` package is malicious. The vulnerability is the absence of controls that ensure an agent installs a specifically reviewed and authentic release. ### Attack Path 1. An attacker compromises the relevant package-distribution account, repository, release pipeline, or configured Python package index. 2. The attacker publishes a malicious or backdoored release under the package name expected by the Skill. 3. A user or agent follows the documented `pip install fubon-cli` instruction. 4. `pip` resolves and installs the attacker-controlled release because no version or hash is required. 5. The malicious dependency executes during installation or later CLI invocation. 6. It can attempt to capture credentials, read accessible certificate material and account data, alter displayed trading results ...[truncated 796 chars]
- Remediation
- ## Remediation Suggestions 1. Pin `fubon-cli` to a specifically reviewed version, such as `fubon-cli==X.Y.Z`. 2. Distribute a hash-locked requirements file and install with hash enforcement: ```bash python -m pip install --require-hashes -r requirements.txt ``` 3. Specify and authenticate the trusted package repository rather than relying on an ambient `pip` configuration. 4. Verify package signatures or provenance attestations where supported. 5. Generate and retain a software bill of materials for every released Skill bundle. 6. Validate that the installed package version matches the Skill manifest before permitting login or trading commands. 7. Run installation and trading automation without administrator or root privileges and in an isolated environment. 8. Review and lock transitive dependencies, not only the direct `fubon-cli` dependency.
