T08 · Insecure Dependencies
- Location
SKILL.md:24- Finding
Unpinned Third-Party Dependencies and Installation Artifacts
- Content
View full analysis
Vulnerability Details
File Locations:
SKILL.md:24-26README.md:41-43
Vulnerability Type: Supply-chain risk caused by mutable, unverified dependencies
Risk Level: MediumVulnerable Code Snippets
SKILL.md:24-26:bash pip install requestsREADME.md:41-43:bash npx clawhub install xiaomi-mimo-voiceTechnical Analysis
The documented installation commands resolve third-party packages without specifying reviewed versions, lockfiles, package hashes, or other integrity constraints.
pip install requestsinstalls whichever compatible release the configured Python package index serves at execution time. Thenpxcommand similarly invokes a package obtained through the configured npm registry and installs a mutable skill release. Consequently, the effective installation artifacts can change after this skill has been audited.This does not establish that the current
requestsorclawhubpackages are malicious. However, it creates a supply-chain exposure if a registry account, upstream release, package index, dependency, DNS path, or local registry configuration is compromised. Python source distributions and npm packages may execute installation or lifecycle code, making dependency installation a potential code-execution boundary.Attack Path
- An attacker compromises an upstream package, dependency, maintainer account, package registry, or package-resolution path.
- The attacker publishes or serves a malicious package version that still satisfies the unpinned installation command.
- A user follows the documented
pip install requestsornpx clawhub install xiaomi-mimo-voiceinstruction. - The package manager resolves the attacker-controlled release because no reviewed version or integrity hash is enforced.
- Malicious installation, build, lifecycle, or runtime code executes under the account running the command.
- That code can access resources available to the user, including project files, envir ...[truncated 925 chars]
- Remediation
View remediation
Remediation Suggestions
- Pin every direct dependency to a reviewed version, for example:
bash python3 -m pip install requests==<reviewed-version>- Provide a requirements or lock file containing cryptographic hashes:
text requests==<reviewed-version> \ --hash=sha256:<verified-package-hash>Install it with hash enforcement:
bash python3 -m pip install --require-hashes -r requirements.txt-
Lock and review all transitive dependencies rather than only the direct
requestsdependency. -
Pin the
clawhubCLI and skill release to reviewed versions where the package manager supports it. Avoid implicitly resolving the latest available release. -
Document trusted package registries and discourage installation through untrusted mirrors or user-controlled registry configuration.
-
Prefer isolated, non-privileged virtual environments. Explicitly warn users not to run installation commands with
sudoor an administrative account. -
Generate and retain a software bill of materials, monitor dependencies for known vulnerabilities, and review package updates before changing pinned versions.
-
Where supported, disable unnecessary package lifecycle scripts and verify package signatures or provenance attestations before installation.
