T08 · Insecure Dependencies
- Location
SKILL.md:17- Finding
Unpinned Global npm Package and Dependency Installation
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 17-26
Vulnerability Type: Unpinned third-party dependencies and unverified installation artifacts
Risk Level: MediumVulnerable Code
bash npm install -g agent-browser agent-browser install agent-browser install --with-depsbash git clone https://github.com/vercel-labs/agent-browser cd agent-browser pnpm install pnpm build agent-browser installTechnical Analysis
The installation instructions resolve mutable upstream content without specifying an audited npm package version, Git commit, lockfile state, or artifact integrity hash. The npm command installs the package globally, while the source-based method clones the repository's current default branch. Both approaches can therefore retrieve code that differs from the version reviewed during this audit.
npm package installation can invoke package lifecycle scripts. The subsequent
agent-browser installandagent-browser install --with-depscommands may also download browser components or install system dependencies. Consequently, compromise of the package, repository, maintainer account, release infrastructure, or a transitive dependency could cause attacker-controlled code to execute during installation.The referenced GitHub repository is consistent with the documented browser CLI, and no evidence of an intentionally malicious or spoofed package was found in the audited files. The vulnerability is the absence of version pinning and integrity controls.
Attack Path
- An attacker compromises the upstream npm package, source repository, maintainer account, release channel, or a transitive dependency.
- The attacker publishes malicious content under the existing package name or modifies the repository's default branch.
- A user follows the documented unpinned installation commands.
- npm, Git, or the CLI installation process retrieves the mutable malicious c ...[truncated 938 chars]
- Remediation
View remediation
Remediation Suggestions
- Pin
agent-browserto a specifically reviewed version, for exampleagent-browser@X.Y.Z, rather than resolving the current release. - Pin source installations to a verified commit hash or signed release tag instead of cloning and building the repository's mutable default branch.
- Publish and verify expected integrity hashes for downloaded packages, browser binaries, and other installation artifacts.
- Use a committed lockfile with immutable or frozen-lockfile installation for source builds, and review all dependency changes before updating it.
- Prefer a project-local installation over a global installation so that the executable is isolated and version-controlled.
- Run installation under a dedicated, unprivileged account or sandbox. Avoid administrator or root privileges unless a separately reviewed system dependency genuinely requires them.
- Separate browser download and operating-system dependency installation into documented, auditable steps rather than relying on a broad
--with-depsoperation. - Verify npm provenance, release signatures, repository ownership, and package maintainer changes before accepting upgrades.
- Pin
