T08 · Insecure Dependencies
Warning
- Location
- SKILL.md:18
- Finding
- Unpinned Third-Party Browser Automation Dependency## Vulnerability Details **File Location**: `SKILL.md`, lines 18-20 and 26-29 **Vulnerability Type**: Unpinned third-party package and source installation **Risk Level**: Medium ### Vulnerable Code ```bash npm install -g agent-browser agent-browser install agent-browser install --with-deps ``` ```bash git clone https://github.com/vercel-labs/agent-browser cd agent-browser pnpm install pnpm build ``` ### Technical Analysis The installation instructions retrieve and execute third-party software without pinning a reviewed npm package version or Git commit. No checksum, package integrity value, trusted release signature, or equivalent verification is required. The npm workflow installs the package globally and may execute package lifecycle scripts. The source workflow builds the current repository state and resolves transitive packages through `pnpm install`. Consequently, the effective code installed by these commands can change after the Skill has been reviewed. This creates a supply-chain exposure: compromise of the npm package, upstream repository, maintainer account, release process, or transitive dependency could cause attacker-controlled code to execute during installation or later CLI use. The `--with-deps` option may additionally make system-level dependency changes, depending on upstream behavior and the privileges under which it is invoked. ### Attack Path 1. An attacker compromises the upstream npm package, source repository, maintainer credentials, release pipeline, or a transitive dependency. 2. The attacker publishes a malicious package release or modifies the repository branch fetched by the documented commands. 3. A user or Agent follows the unpinned installation instructions. 4. npm, Git, or pnpm retrieves the attacker-controlled version because no immutable version or commit is specified. 5. Malicious lifecycle scripts, build steps, installation logic, or the resulting executable run in th ...[truncated 839 chars]
- Remediation
- ## Remediation Suggestions 1. Pin `agent-browser` to a specifically reviewed version rather than resolving the current release: ```bash npm install -g agent-browser@<reviewed-version> ``` 2. Pin source installations to a reviewed commit hash or signed release tag: ```bash git clone https://github.com/vercel-labs/agent-browser cd agent-browser git checkout <reviewed-commit-hash> ``` 3. Publish and verify package integrity hashes, release checksums, or cryptographic signatures before installation. 4. Use a committed lockfile with frozen dependency resolution for source builds. 5. Recommend installation in an isolated, least-privileged environment rather than directly into a privileged global environment. 6. Document the system changes and privilege requirements associated with `agent-browser install --with-deps`. 7. Establish a controlled update process in which new versions and commits are reviewed before changing the pinned reference.
