T08 · Insecure Dependencies
Warning
- Location
- SKILL.md:18
- Finding
- Unpinned Third-Party Package and Source Installation<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md:18-32` **Vulnerability Type**: Unpinned and unverified third-party dependency installation **Risk Level**: Medium ### Vulnerable Code ```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 ``` ``` ### Technical Analysis The documented installation procedures retrieve executable third-party content without pinning it to a reviewed, immutable version or commit. The npm procedure installs the package globally using its currently resolved registry version. It then executes the installed package's browser and dependency installation commands. The source procedure clones the repository's current default branch rather than a specific commit or signed release and subsequently installs dependencies and runs the build. Neither procedure documents package integrity hashes, an immutable Git commit, signature verification, or another mechanism that ensures the installed content is identical to the content reviewed during this audit. Consequently, the effective installation payload can change after the Skill has been published and audited. The `--with-deps` option may also install operating-system dependencies. Depending on the upstream implementation and the privileges under which the command is invoked, this can increase the installation's system-level effect. ### Attack Path 1. An attacker compromises the upstream npm package, repository, maintainer account, release process, or a transitive dependency. 2. The attacker publishes malicious code under the package's currently resolved release or modifies the repository's default branch. 3. A user follows the installation commands in `SKILL.md`. 4. npm or Git retrieves content that differs from the version originally reviewed. 5. The user exec ...[truncated 882 chars]
- Remediation
- <![CDATA[ ## Remediation Suggestions 1. Pin the npm dependency to a reviewed exact version rather than relying on the registry's current release: ```bash npm install -g agent-browser@<reviewed-exact-version> ``` 2. Document and verify the expected package integrity digest before installation. 3. For source installation, check out a reviewed immutable commit or signed release: ```bash git clone https://github.com/vercel-labs/agent-browser cd agent-browser git checkout <reviewed-commit-hash> ``` 4. Verify release signatures or commit signatures when the upstream project provides them. 5. Use a committed lockfile with immutable dependency versions for source builds, and use the package manager's frozen-lockfile mode. 6. Avoid global or administrative installation where possible. Run the tool under a dedicated, least-privileged account or isolated environment. 7. Separate operating-system dependency installation from ordinary package setup. Clearly disclose when elevation may be requested and enumerate the packages to be installed. 8. Establish an explicit update-review process so that a new package version or Git commit is security-reviewed before the documented pin is changed. ]]>
