T08 · Insecure Dependencies
- Location
- SKILL.md:4
- Finding
- Unpinned Third-Party Package Installation and Execution<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md:4-9`, `SKILL.md:418`, `SKILL.md:672` **Vulnerability Type**: Unverified and unpinned third-party dependencies **Risk Level**: High ### Vulnerable Code ```yaml allowed-tools: Bash(npx agent-browser:*), Bash(agent-browser:*) ``` ```markdown The CLI uses Chrome/Chromium via CDP directly. Install via `npm i -g agent-browser`, `brew install agent-browser`, or `cargo install agent-browser`. Run `agent-browser install` to download Chrome. Run `agent-browser upgrade` to update to the latest version. ``` ```markdown **Requirements:** macOS with Xcode, Appium (`npm install -g appium && appium driver install xcuitest`) ``` ```markdown Lightpanda does not support `--extension`, `--profile`, `--state`, or `--allow-file-access`. Install Lightpanda from https://lightpanda.io/docs/open-source/installation. ``` ### Technical Analysis The Skill authorizes `npx agent-browser:*` and recommends installing or upgrading multiple third-party components without pinning exact versions, validating release signatures, or checking artifact hashes. An `npx` invocation may download and execute the package version currently resolved by the package registry. The `agent-browser upgrade` command similarly changes the locally executed implementation after the Skill has been reviewed. The effective code therefore depends on mutable external package repositories and future releases rather than a verified version. This is a supply-chain weakness rather than evidence that the currently named packages are malicious. Exploitation requires compromise of a package, registry account, distribution endpoint, or future release. ### Attack Path 1. An attacker compromises a referenced package, publisher account, registry entry, or downloadable browser artifact. 2. A malicious version is published under a dependency name recommended by the Skill. 3. The Agent runs `npx agent-browser`, an installation command, or `agent-browser upgrade`. 4 ...[truncated 802 chars]
- Remediation
- <![CDATA[ ## Remediation Suggestions 1. Pin every dependency to an exact reviewed version rather than installing the latest release. 2. Remove implicit package retrieval from the allowed `npx` command. Require a preinstalled, verified binary. 3. Verify downloaded artifacts using cryptographic hashes or publisher signatures. 4. Use lockfiles and trusted registries where applicable. 5. Disable automatic upgrades in Agent workflows. Review and approve updates separately. 6. Pin Appium, its drivers, the browser binary, and alternative browser engines to verified releases. 7. Run browser tooling in a sandboxed, minimally privileged account with restricted filesystem and network access. 8. Document the expected package publisher, registry, version, checksum, and update process. ]]>
