T08 · Insecure Dependencies
- Location
clawhub.json:4- Finding
Unpinned Security-Sensitive Third-Party Dependencies
- Content
View full analysis
Vulnerability Details
File Location:
clawhub.json, lines 4-6
Vulnerability Type: Supply-chain risk from unconstrained dependencies
Risk Level: MediumVulnerable Code
json "requires": { "pip": ["aion-sdk", "python-dotenv", "eth-account"], "env": ["AION_API_KEY", "WALLET_PRIVATE_KEY"] },Technical Analysis
The project declares
aion-sdk,python-dotenv, andeth-accountwithout exact version constraints or integrity hashes. Each installation may therefore resolve to a different package release. This weakens build reproducibility and permits newly published, compromised, or unexpectedly incompatible releases to execute without a corresponding change to the audited project.The exposure is particularly significant because these dependencies execute in a process containing an AION API key and a wallet private key. The SDK also controls market-context requests, auto-redemption, and live trade submission. Python imports execute package initialization code, so a compromised resolved dependency could access environment variables or alter transaction behavior immediately.
The audit found no evidence that the package names themselves are typosquatted or currently malicious. The finding concerns the absence of version and integrity controls.
Attack Path
- An attacker compromises the publishing account, distribution pipeline, or upstream source of one of the declared packages.
- The attacker publishes a malicious release under the legitimate package name.
- A later installation resolves the unconstrained package requirement to that release.
- The malicious package executes during installation or import.
- It reads
AION_API_KEY,AIONMARKET_API_KEY, orWALLET_PRIVATE_KEYfrom the process environment, or modifies SDK operations. - The attacker can then misuse stolen credentials or manipulate live financial actions within the authority of those credentials.
Impact Asse
...[truncated 561 chars]
- Remediation
View remediation
Remediation Suggestions
- Pin every production dependency to a reviewed exact version rather than accepting the latest available release.
- Generate a lock file containing transitive dependency versions.
- Require package hashes during installation, such as with a hash-locked requirements file and
pip --require-hashes. - Install exclusively from a trusted, explicitly configured package index.
- Scan direct and transitive dependencies for known vulnerabilities before release and installation.
- Use an isolated virtual environment and prevent dependency installation at runtime.
- Review new versions before updating pins, with particular attention to
aion-sdkbecause it mediates account and trade operations. - Minimize secret exposure by providing credentials only to the final runtime process and using a narrowly funded, least-privileged wallet.
