T08 · Insecure Dependencies
- Location
SKILL.md:31- Finding
Unpinned Global Installation of a Third-Party CLI Package
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, line 31
Vulnerability Type: Unpinned third-party package installation
Risk Level: MediumVulnerable code:
bash # If not installed: npm install -g browseros-cliTechnical Analysis
The setup instructions direct the agent to install
browseros-cliglobally from the npm registry without specifying an exact version or validating package integrity. Consequently, the code installed when the Skill runs can differ from the code that existed when the Skill was audited.npm packages may execute lifecycle scripts during installation. If the package, one of its transitive dependencies, its maintainer account, or the registry distribution channel is compromised, attacker-controlled installation scripts could execute with the operating-system privileges of the user running the agent. The global installation also modifies the user's executable environment rather than confining the dependency to the project.
This is a supply-chain risk rather than evidence that the current
browseros-clipackage is malicious. The instruction is relevant to the Skill's functionality when the CLI is absent, but global, unpinned installation exceeds the minimum privilege needed to document or invoke an already trusted CLI.Attack Path
- An attacker compromises the npm package, a dependency, a maintainer account, or a newly published package version.
- The compromised version is published under the
browseros-clipackage name. - An agent follows the Skill's setup instructions on a system where the CLI is unavailable.
npm install -g browseros-cliresolves and downloads the attacker-controlled version because no exact version or integrity digest is specified.- Malicious npm lifecycle code executes during installation, or a malicious CLI executable is placed in the user's global executable path.
- The payload can access data and perform actions permitted to the i ...[truncated 878 chars]
- Remediation
View remediation
Remediation Suggestions
- Do not automatically install dependencies as part of normal Skill execution. Require the user or administrator to provision and approve the CLI separately.
- Pin the package to a reviewed exact version, for example
browseros-cli@X.Y.Z, rather than resolving the latest release. - Verify package provenance and integrity before installation. Maintain an approved package-lock file or an equivalent artifact containing integrity hashes.
- Prefer a project-local, isolated installation over
npm install -g, and run it from a restricted environment with no unnecessary access to credentials or sensitive files. - Disable lifecycle scripts during installation where compatible with the package, such as with
npm install --ignore-scripts, and separately review any setup steps that are actually required. - Use an organization-controlled registry mirror or allowlist and monitor package ownership, release signatures, and dependency changes.
- Document a minimum supported version and reject unexpected versions after installation by checking both the version and trusted artifact identity.
