T08 · Insecure Dependencies
Error
- Location
- SKILL.md:13
- Finding
- Unpinned Third-Party CLI Executes with Access to Authenticated Browser State<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md`, lines 13–18 **Vulnerability Type**: Unpinned executable dependency **Risk Level**: High ### Vulnerable Code ```yaml metadata: openclaw: requires: bins: [neo] install: - id: neo kind: node package: "@4ier/neo" bins: [neo] label: "Install Neo CLI (npm)" ``` ### Technical Analysis The skill installs and executes the third-party npm package `@4ier/neo` without specifying an exact version, lockfile, package integrity hash, or other immutable verification mechanism. Consequently, the code installed at deployment time can differ from the code available when the skill was reviewed. The installed CLI is subsequently given access to a real Chrome profile, authenticated browser sessions, cookies, network traffic, and page-context execution. This significantly increases the security impact of a compromised package release, registry account, dependency tree, or package installation process. The audit did not establish that `@4ier/neo` is currently malicious. The vulnerability is the mutable and unverified supply-chain trust boundary combined with the extensive privileges granted to the installed executable. ### Attack Path 1. An attacker compromises the npm package, a transitive dependency, its publisher account, or the package distribution path. 2. The attacker publishes a modified version under the same package name. 3. The skill installation resolves and installs the modified version because no exact version or integrity value is required. 4. The package's installation logic or `neo` executable runs with the permissions of the agent user. 5. The compromised executable accesses local files, browser profiles, authenticated cookies, or captured network requests exposed by the skill. 6. Sensitive data can then be modified, stolen, or used to perform authenticated actions. ### Impact Assessment Successful exploitation could provide code execution wi ...[truncated 453 chars]
- Remediation
- <![CDATA[ ## Remediation Suggestions 1. Pin `@4ier/neo` to an exact, audited version rather than relying on mutable package resolution. 2. Commit and enforce a lockfile containing verified integrity hashes. 3. Install only from an explicitly trusted registry and reject registry substitution. 4. Disable npm lifecycle scripts where operationally possible. 5. Audit the package and its complete transitive dependency tree before deployment. 6. Consider vendoring the reviewed executable source or distributing a reproducible, signed artifact. 7. Run the CLI in a sandbox with restricted filesystem and network access. 8. Do not grant the dependency access to the user's primary Chrome profile; use a dedicated browser profile containing only task-specific accounts and data. 9. Monitor dependency updates and require security review before changing the pinned version. ]]>
