T08 · Insecure Dependencies
- Location
README.md:8- Finding
Mutable and Unverified Third-Party Dependencies
- Content
View full analysis
Vulnerability Details
File Locations:
README.md:8README.md:14SKILL.md:144-148requirements.txt:1
Vulnerability Type: Unsafe dependency installation and insufficient dependency pinning
Risk Level: MediumVulnerable Code
README.md:8bash npx clawhub@latest install shieldbot-securityREADME.md:14bash cd ~/.openclaw/skills/shieldbot-security && pip install -r requirements.txtSKILL.md:144-148bash pip install -r "{baseDir}/requirements.txt"requirements.txt:1text requests>=2.31.0,<3.0.0Technical Analysis
The documented installation procedure directs users to execute the mutable
latestrelease of theclawhubpackage throughnpx. This does not guarantee that the package executed during installation is the same version that was reviewed during this audit.The Python dependency is also specified as a broad compatible version range rather than an exact, integrity-verified release. A future
requestsrelease satisfying this range can therefore be installed without further review. No lockfile or cryptographic package hashes are provided.These practices create a supply-chain trust dependency on package registries, publisher accounts, and all future releases matching the constraints. Although no malicious dependency was found in the reviewed project, the effective installation payload can change after the audit.
Attack Path
- An attacker compromises a relevant package publisher account, package registry, or future compatible release.
- The attacker publishes a malicious
clawhubversion aslatest, or a malicious dependency version satisfyingrequests>=2.31.0,<3.0.0. - A user follows the documented installation instructions.
npxretrieves and executes the mutable package, orpipresolves and installs the unreviewed compatible dependency.
...[truncated 718 chars]
- Remediation
View remediation
Remediation Suggestions
-
Replace
npx clawhub@latestwith an exact, reviewed version:bash npx clawhub@X.Y.Z install shieldbot-security -
Pin Python dependencies to exact reviewed versions:
text requests==2.32.5 -
Generate and commit a lockfile containing all transitive dependency versions.
-
Add cryptographic hashes and install with hash verification:
bash pip install --require-hashes -r requirements.txt -
Review and update pinned dependencies through a controlled process with automated vulnerability scanning and test coverage.
-
Run package installation as an unprivileged user in an isolated environment, such as a dedicated virtual environment or container.
-
Where supported, verify package provenance, registry signatures, and publisher identity before installation.
-
