T08 · Insecure Dependencies
Warning
- Location
- clawhub.json:5
- Finding
- Unpinned Third-Party Trading Dependency## Vulnerability Details **File Location**: `clawhub.json:5-10` **Vulnerability Type**: Supply-chain exposure through an unpinned executable dependency **Risk Level**: Medium ### Vulnerable Code ```json "requires": { "env": [ "SIMMER_API_KEY" ], "pip": [ "simmer-sdk" ] } ``` ### Technical Analysis The project installs `simmer-sdk` without specifying an exact version or package integrity hash. Consequently, future installations can resolve to a different release than the one originally reviewed. This dependency operates within the same Python process as the skill and is explicitly given `SIMMER_API_KEY`. It also implements the market-query and trade-submission interfaces. A compromised, malicious, or unexpectedly changed release would therefore execute with the skill's full process privileges and have access to its trading credential. No evidence was found that the currently referenced package is malicious. The vulnerability is the absence of controls ensuring that the reviewed dependency is the dependency installed later. ### Attack Path 1. An attacker compromises the dependency's package-publishing account or otherwise causes an unsafe release to be resolved. 2. A user or automation environment installs the skill and resolves the unversioned `simmer-sdk` requirement. 3. The malicious package executes during installation or when imported by `trader.py`. 4. At runtime, the package receives `SIMMER_API_KEY` through the `SimmerClient` constructor. 5. The package can exfiltrate the credential, manipulate market data, alter submitted orders, or execute arbitrary actions available to the Python process. ### Impact Assessment Exploitation could expose the Simmer API credential and its associated trading authority. In live mode, this could allow unauthorized prediction-market transactions and financial loss. Because Python dependencies execute with the privileges of the invoking process, compr ...[truncated 107 chars]
- Remediation
- ## Remediation Suggestions - Pin `simmer-sdk` to an exact, reviewed version rather than accepting any available release. - Maintain a lock file containing exact versions for direct and transitive dependencies. - Require package hashes during installation, such as through a hash-locked requirements file. - Review package ownership, release provenance, and source changes before updating the pinned version. - Install dependencies from a controlled package index or approved artifact repository. - Run the trader under a dedicated, least-privileged account with access only to required resources. - Scope and rotate `SIMMER_API_KEY` where supported, and monitor it for unexpected trading activity.
