T08 · Insecure Dependencies
- Location
SKILL.md:17- Finding
Unpinned Third-Party Dependencies and Mutable Source Revisions
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md:17-25; additional occurrence inCONTRIBUTING.md:17-20
Vulnerability Type: T08: Insecure Dependencies
Risk Level: MediumVulnerable Code
SKILL.md:17-25: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 installCONTRIBUTING.md:17-20:bash npm install -g agent-browser@latestTechnical Analysis
The documented npm installation does not pin
agent-browserto an exact, reviewed version. The contribution guide explicitly installs the mutablelatestrelease. The alternative source workflow clones the current default branch without pinning a reviewed commit or signed, immutable release tag.Package installation and build operations can execute npm or pnpm lifecycle scripts with the permissions of the invoking user. Consequently, the effective code executed by these instructions can change after this Skill has been reviewed. Risk may arise from a compromised future package release, repository revision, maintainer account, or transitive dependency.
The global installation command increases the potential scope of filesystem changes, while
agent-browser install --with-depsmay install additional system dependencies. The reviewed documentation does not direct users to verify release signatures, checksums, package integrity, or a pinned dependency lockfile before execution.Attack Path
- An attacker compromises the upstream npm package, source repository, maintainer credentials, release process, or a transitive dependency.
- The attacker publishes malicious code under a newer package version, the
latestnpm tag, or the repository's default branch. - A user follows the documented
npm install -g agent-browser, `npm install -g agent-browser@latest ...[truncated 1151 chars]
- Remediation
View remediation
Remediation Suggestions
- Pin
agent-browserto an exact, reviewed npm version rather than using an unqualified package name or@latest. - Record and verify the expected package integrity digest before installation.
- For source installation, check out a reviewed commit hash or cryptographically signed, immutable release tag instead of building the repository's current default branch.
- Commit a lockfile and require frozen or immutable lockfile installation so transitive dependency versions cannot drift.
- Add documented checksum or signature verification for downloaded browser binaries and other installation artifacts.
- Review package lifecycle and build scripts before permitting their execution, and consider disabling lifecycle scripts where compatible with the package.
- Run installation with a dedicated, least-privileged account or inside a sandbox or container. Do not use administrative privileges unless a reviewed dependency explicitly requires them.
- Explain the additional changes made by
agent-browser install --with-depsand require explicit user approval before system-level dependencies are installed. - Establish a controlled update process in which new versions are reviewed, tested, and pinned before the documentation is updated.
- Pin
