T08 · Insecure Dependencies
Warning
- Location
- SKILL.md:17
- Finding
- Unpinned Third-Party Dependencies and Mutable Installation Sources## Vulnerability Details **File Location**: `SKILL.md:17-32`; `CONTRIBUTING.md:21-25` **Vulnerability Type**: Unpinned third-party package and source installations **Risk Level**: Medium ### Vulnerable Code `SKILL.md:17-32`: ```bash ### npm recommended ```bash npm install -g agent-browser agent-browser install agent-browser install --with-deps ``` ### From Source ```bash git clone https://github.com/vercel-labs/agent-browser cd agent-browser pnpm install pnpm build agent-browser install ``` ``` `CONTRIBUTING.md:21-25`: ```bash ## Before Opening an Issue 1. Install the latest version ```bash npm install -g agent-browser@latest ``` ``` ### Technical Analysis The installation instructions retrieve and install mutable third-party content without pinning an audited package version, dependency lock state, release digest, or Git commit. The explicit use of `@latest` guarantees that installation behavior can change over time without any corresponding change to this skill package. The source installation path clones the default branch and runs `pnpm install` and `pnpm build`. Consequently, both upstream repository content and transitive package dependencies may differ from the content that existed when this skill was reviewed. Package lifecycle scripts can execute local commands during installation. The `agent-browser install --with-deps` operation may also install browser and operating-system dependencies, increasing the potential system impact and possibly requiring elevated privileges depending on the environment. No evidence indicates that the currently named upstream package or repository is malicious. The vulnerability is the absence of controls that ensure users receive the same dependency content that was audited. ### Attack Path 1. An attacker compromises the upstream npm package, its maintainer account, the source repository, or a transitive dependency. 2. The attack ...[truncated 1569 chars]
- Remediation
- ## Remediation Suggestions 1. Pin `agent-browser` to a specific reviewed version instead of using an implicit current version or `@latest`, for example: ```bash npm install -g agent-browser@<reviewed-version> ``` 2. Publish and verify the expected package integrity digest or signed release provenance before installation. 3. For source installations, check out a reviewed immutable commit or signed release tag: ```bash git clone https://github.com/vercel-labs/agent-browser cd agent-browser git checkout <reviewed-commit-sha> ``` 4. Use a committed lockfile and frozen dependency installation, such as `pnpm install --frozen-lockfile`, to prevent silent transitive dependency changes. 5. Prefer a project-local installation over a global installation to reduce the affected scope and avoid changing shared tools. 6. Document whether `agent-browser install --with-deps` requires elevated privileges. Recommend running untrusted package installation without administrative privileges and installing reviewed system dependencies separately. 7. Disable package lifecycle scripts where feasible during dependency retrieval, then explicitly run only reviewed build or setup steps. 8. Establish a dependency update process that reviews new versions, regenerates integrity metadata, and updates the pinned version only after security validation.
