T08 · Insecure Dependencies
Warning
- Location
- SKILL.md:17
- Finding
- Unpinned Third-Party Installation and Source Build## Vulnerability Details **File Location**: `SKILL.md:17-19`, `SKILL.md:24-27`, and `CONTRIBUTING.md:18` **Vulnerability Type**: Supply-chain exposure through mutable, unverified dependencies **Risk Level**: Medium ### Vulnerable Code `SKILL.md:17-19`: ```bash npm install -g agent-browser agent-browser install agent-browser install --with-deps ``` `SKILL.md:24-27`: ```bash git clone https://github.com/vercel-labs/agent-browser cd agent-browser pnpm install pnpm build ``` `CONTRIBUTING.md:18`: ```bash npm install -g agent-browser@latest ``` ### Technical Analysis The documented installation procedures retrieve and execute mutable third-party content without pinning it to a reviewed package version, source commit, or verified integrity digest. The npm commands install either the registry's currently selected release or explicitly use the mutable `latest` tag. The source-build procedure clones the upstream repository's current default branch and then resolves dependencies without a project-provided lockfile or other reproducibility control. npm package installation may execute package lifecycle scripts. Likewise, `pnpm install`, `pnpm build`, and the subsequent browser installation commands can execute code supplied by the upstream project or its transitive dependencies. Consequently, the code executed by users can differ from the code that was reviewed when this Skill was published. The `agent-browser install --with-deps` operation may also install operating-system dependencies and can require elevated privileges, increasing the potential effect of a compromised upstream installer. The audited files do not themselves contain a malicious payload, and exploitation depends on compromise or malicious modification of an upstream package, repository, release tag, or dependency. ### Attack Path 1. An attacker compromises the `agent-browser` npm package, its maintainer account, the upstream repository, or ...[truncated 1378 chars]
- Remediation
- ## Remediation Suggestions 1. Pin the npm dependency to a specific, reviewed version rather than relying on an implicit current release or `@latest`: ```bash npm install -g agent-browser@<reviewed-version> ``` 2. Document the expected npm integrity digest and provide a verification procedure before installation. 3. For source installations, pin the repository to a full reviewed commit hash: ```bash git clone https://github.com/vercel-labs/agent-browser cd agent-browser git checkout --detach <reviewed-full-commit-hash> ``` 4. Provide and enforce a reviewed lockfile so transitive dependency resolution is reproducible. Use frozen-lockfile installation where supported: ```bash pnpm install --frozen-lockfile ``` 5. Prefer signed releases or commits and instruct users to verify signatures before building. 6. Remove the recommendation to install `@latest` during troubleshooting. Instead, identify a supported, security-reviewed version and update it through a controlled review process. 7. Clearly separate ordinary user-level setup from operations that may require administrative access. Explain exactly what `--with-deps` changes and advise users to inspect the generated package-manager operations before granting elevation. 8. Run installation and builds in a restricted environment where practical, with minimal filesystem access, no unnecessary secrets in the environment, and no administrative privileges.
