T08 · Insecure Dependencies
- Location
clawhub.json:3- Finding
Unpinned Runtime Dependencies Create a Supply-Chain Risk
- Content
View full analysis
Vulnerability Details
File Location:
clawhub.json:3-5
Vulnerability Type: Unpinned third-party dependencies
Risk Level: MediumVulnerable Code
json "requires": { "pip": ["simmer-sdk", "requests"], "env": ["SIMMER_API_KEY"] },Technical Analysis
The project declares
simmer-sdkandrequestswithout exact versions, package hashes, or a lockfile. Consequently, installation can retrieve whichever releases satisfy the unconstrained package names at that time.This is particularly sensitive for
simmer-sdk: the application imports it at runtime and initializes it withSIMMER_API_KEY. It then uses the resulting client to request live financial trades. A malicious or compromised dependency release would execute in the same process and security context as this skill.No evidence indicates that the currently published packages are malicious. The confirmed weakness is the absence of dependency version and integrity controls, which makes the installed code dependent on mutable upstream package state.
Attack Path
- An attacker compromises an upstream dependency, its publishing account, or its distribution infrastructure.
- The attacker publishes a malicious release under one of the unconstrained package names.
- A managed installation or update resolves and installs that release because no version or hash is pinned.
- The malicious package executes when imported or used by the skill.
- It reads process-accessible credentials such as
SIMMER_API_KEY, modifies API operations, or submits unauthorized requests through the available trading context.
Impact Assessment
Successful exploitation would grant code execution with the privileges of the process running the skill. The attacker could access environment variables, including the Simmer API key, inspect trade theses and process data, alter audit or trading behavior, and potentially submit unauthorized trades within the ...[truncated 204 chars]
- Remediation
View remediation
Remediation Suggestions
- Pin every direct dependency to an explicitly reviewed version, for example:
json "pip": ["simmer-sdk==REVIEWED_VERSION", "requests==REVIEWED_VERSION"] - Use a lockfile or hashed requirements file that records exact transitive dependency versions and package hashes.
- Install packages with hash verification enabled where supported.
- Review the provenance and release history of
simmer-sdk, because it receives a credential capable of initiating trading operations. - Add automated dependency scanning and require security review before accepting updates.
- Run the skill with a narrowly scoped API key, restricted network access, and a dedicated low-privilege operating-system identity.
- Pin every direct dependency to an explicitly reviewed version, for example:
