T08 · Insecure Dependencies
- Location
SKILL.md:20- Finding
Unpinned Third-Party Package and Source Installation
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md:20-22,SKILL.md:28-32, andCONTRIBUTING.md:23-26
Vulnerability Type: Mutable and unverified third-party dependency installation
Risk Level: MediumVulnerable Code
SKILL.md:20-22:bash npm install -g agent-browser agent-browser install agent-browser install --with-depsSKILL.md:28-32:bash git clone https://github.com/vercel-labs/agent-browser cd agent-browser pnpm install pnpm build agent-browser installCONTRIBUTING.md:23-26:bash 1. Install the latest version ```bash npm install -g agent-browser@latest ```Technical Analysis
The documented installation procedures retrieve and execute mutable third-party content without pinning it to an audited package version, immutable commit, or verified integrity digest.
npm install -g agent-browserresolves to the package version selected by the registry at installation time, while the explicitagent-browser@latestinstruction follows a mutable npm distribution tag. npm installation can execute package lifecycle scripts under the privileges of the invoking user. The subsequentagent-browser installandagent-browser install --with-depscommands also execute code supplied by the newly installed package and may install additional browser or operating-system components.The source installation procedure clones the repository's current default branch rather than an audited commit or signed release. It then resolves dependencies and builds that mutable source. Consequently, the code executed by users may differ from the code that was reviewed when this Skill was published.
No evidence shows that the current upstream package or repository is malicious. The vulnerability is the absence of controls that prevent a compromised publisher account, dependency, registry release, or upstream branch from changing the code users install.
Attack
...[truncated 1806 chars]
- Remediation
View remediation
Remediation Suggestions
-
Replace mutable npm installation commands with an exact, reviewed version:
bash npm install -g agent-browser@<audited-version> -
Record and verify the expected npm package integrity digest or provenance before installation. Document the trusted package scope and publisher identity.
-
Pin source installations to an immutable, reviewed commit or signed release:
bash git clone https://github.com/vercel-labs/agent-browser cd agent-browser git checkout <audited-commit-sha> -
Verify release signatures or commit signatures where supported, and compare the checked-out commit against a documented expected hash.
-
Use the upstream lockfile with a frozen or immutable installation mode, such as:
bash pnpm install --frozen-lockfile -
Review package lifecycle scripts and the implementation of
agent-browser installbefore execution. Consider disabling lifecycle scripts during dependency resolution when they are unnecessary. -
Avoid privileged installation. Prefer an isolated, non-administrative environment, project-local dependency, container, or dedicated service account with minimal filesystem and credential access.
-
Remove the recommendation to use
@latest. Establish an explicit dependency-update process in which each new version and associated lockfile change is reviewed before the documented pin is updated.
-
