T08 · Insecure Dependencies
- Location
SKILL.md:16- Finding
Unpinned Third-Party Dependencies Permit Unreviewed Code Execution
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md:16-32;CONTRIBUTING.md:19-22
Vulnerability Type: Unpinned executable third-party dependencies and unsafe supply-chain installation
Risk Level: MediumVulnerable Code
SKILL.md:16-32:bash ### npm recommended ```bash npm install -g agent-browser agent-browser install agent-browser install --with-depsFrom Source
bash git clone https://github.com/vercel-labs/agent-browser cd agent-browser pnpm install pnpm build agent-browser installtext `CONTRIBUTING.md:19-22`: ```bash 1. Install the latest version ```bash npm install -g agent-browser@latest ```Technical Analysis
The documented installation procedures retrieve and execute third-party software without pinning an exact npm package version, source commit, dependency lock state, or artifact integrity hash. In particular:
npm install -g agent-browserresolves whatever release is current under the package's default distribution tag.npm install -g agent-browser@latestexplicitly requests a mutable distribution tag.- Global npm installation may execute package lifecycle scripts with the installing user's privileges and places executable files in a shared global location.
git clonechecks out the repository's mutable default branch rather than a reviewed commit or signed release tag.pnpm installresolves third-party transitive dependencies from external registries. The documented workflow does not require a reviewed lockfile or frozen dependency resolution.agent-browser install --with-depscan perform additional installation activity whose contents and effects depend on the retrieved version.
No evidence establishes that the currently referenced upstream project is malicious. The vulnerability is that the reviewed Skill does not constrain the executable content users will receive in the future. A compromised m ...[truncated 2139 chars]
- Remediation
View remediation
Remediation Suggestions
-
Pin the npm package to a reviewed, exact version rather than using an implicit or explicit mutable tag:
bash npm install --global --ignore-scripts agent-browser@<reviewed-exact-version>Enable lifecycle scripts only if they are required and have been reviewed.
-
Pin source installations to a verified commit:
bash git clone https://github.com/vercel-labs/agent-browser cd agent-browser git checkout --detach <reviewed-commit-sha> -
Verify signed release tags, package provenance attestations, and published artifact checksums before installation.
-
Require a committed lockfile and use frozen dependency resolution for source builds:
bash pnpm install --frozen-lockfile -
Document the expected package integrity hash and introduce automated verification so installation fails when the downloaded artifact differs from the reviewed artifact.
-
Prefer a project-local or isolated installation over a global installation. Run installation and browser automation under a dedicated, unprivileged account or container with restricted filesystem and network access.
-
Review all package lifecycle scripts, build scripts, and the behavior of
agent-browser installandagent-browser install --with-depsbefore approving a version upgrade. -
Replace the
@latestrecommendation inCONTRIBUTING.mdwith the same reviewed version used by the Skill, and establish an explicit dependency-update process involving source review, integrity verification, and security testing.
-
