T08 · Insecure Dependencies
Error
- Location
- SKILL.md:5
- Finding
- Unpinned Global Installation of Unverified Third-Party Packages<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md:5` **Vulnerability Type**: Unverified and unpinned global npm dependencies **Risk Level**: High ### Vulnerable Code ```yaml metadata: {"openclaw":{"always":false,"emoji":"🧠","install":"npm install -g @humebio/hume-network @humebio/collector-dev @humebio/collector-system","requires":{"bins":["hume-network"]}}} ``` ### Technical Analysis The skill directs the environment to install three third-party npm packages globally without exact version constraints or integrity hashes: - `@humebio/hume-network` - `@humebio/collector-dev` - `@humebio/collector-system` A global npm installation may execute package lifecycle scripts, including `preinstall`, `install`, and `postinstall`, under the privileges of the invoking user. Because versions are not pinned, the effective code installed during a future invocation can differ from the code that was originally reviewed. The audited artifact contains only `SKILL.md`; it does not include the package source, a lockfile, checksums, or provenance information. Consequently, the behavior of the installed command and collectors cannot be verified from the project. ### Attack Path 1. An attacker compromises one of the referenced npm packages, its publisher account, or its distribution process. 2. The attacker publishes a modified package release containing a malicious lifecycle script or executable. 3. The unpinned `npm install -g` command resolves to the compromised release. 4. npm executes the package's installation scripts and installs its binary globally. 5. The malicious code runs with the invoking user's privileges and can access user-readable files, environment variables, developer credentials, and network resources. 6. Subsequent calls to `hume-network` continue to invoke the compromised global binary. ### Impact Assessment Successful exploitation could provide arbitrary code execution with the privileges of the user performing the installation. The affe ...[truncated 354 chars]
- Remediation
- <![CDATA[ ## Remediation Suggestions - Pin every dependency to a reviewed exact version rather than relying on mutable latest-version resolution. - Supply and verify registry integrity hashes or a signed lockfile. - Vendor auditable package source with the skill where practical. - Replace global installation with a project-local, isolated installation. - Run installation and execution in a sandbox with minimal filesystem and network permissions. - Disable npm lifecycle scripts during installation unless each required script has been audited. - Enforce package provenance and signature verification in the release pipeline. - Continuously monitor the referenced packages for ownership changes, unexpected releases, and known vulnerabilities. ]]>
