T08 · Insecure Dependencies
Warning
- Location
- SKILL.md:4
- Finding
- Unpinned Global npm Dependency Installation## Vulnerability Details **File Location**: `SKILL.md`, line 4 **Vulnerability Type**: Unpinned third-party dependency installed globally **Risk Level**: Medium ### Vulnerable Code ```yaml metadata: {"openclaw": {"emoji": "🦔", "requires": {"bins": ["posthog-cli"]}, "install": "npm install -g posthog-cli"}} ``` ### Technical Analysis The Skill instructs users to install the latest available version of `posthog-cli` globally from npm. It does not specify a reviewed version, lockfile, integrity hash, or verified package source. Consequently, the package content executed by users may change after the Skill has been audited. npm installation can execute package lifecycle scripts with the privileges of the user performing the installation. Global installation also modifies the user's shared tool environment rather than isolating the dependency to this Skill. This creates a supply-chain exposure if the package, its maintainer account, or a transitive dependency is compromised. This finding does not establish that `posthog-cli` is malicious. The risk arises from installing mutable, unpinned third-party code without integrity controls. ### Attack Path 1. An attacker compromises the npm package, a maintainer account, or a transitive dependency. 2. The attacker publishes a malicious version under the expected package name. 3. A user installs the Skill dependency using `npm install -g posthog-cli`. 4. npm retrieves the compromised latest version and may execute its lifecycle scripts. 5. Malicious code runs with the installing user's privileges and can modify files or access data available to that user. ### Impact Assessment Successful exploitation could execute arbitrary code with the privileges of the user running npm. The attacker could access that user's files and environment, including credentials readable by the user, and could alter globally installed tooling. The instruction does not request elevated operating-system p ...[truncated 127 chars]
- Remediation
- ## Remediation Suggestions - Pin `posthog-cli` to a specifically reviewed version, for example `posthog-cli@X.Y.Z`. - Verify and document the official npm package name, publisher, and expected registry. - Prefer a project-local, lockfile-controlled installation over global installation. - Use npm integrity and provenance verification where supported. - Review package lifecycle scripts and transitive dependencies before approving upgrades. - Establish an explicit dependency-update process so new versions are reviewed before use.
