T08 · Insecure Dependencies
Warning
- Location
- SKILL.md:194
- Finding
- Unpinned Global Dependency Installation and Unverified Browser Downloads## Vulnerability Details **File Location**: `SKILL.md:194-196`; duplicated in `skills/agent-browser-clawdbot/SKILL.md:194-196` **Vulnerability Type**: T08: Insecure Dependencies **Risk Level**: Medium **Complete Code Snippet**: ```bash npm install -g agent-browser agent-browser install # Download Chromium agent-browser install --with-deps # Linux: + system deps ``` ### Technical Analysis The installation instructions globally install `agent-browser` without specifying an exact version or verifying package integrity. Consequently, the code installed depends on whichever package version the npm registry resolves when the command is executed. The subsequent installation commands download Chromium and may install Linux system dependencies. The project provides no lockfile, checksum, signature-verification procedure, expected registry configuration, or other mechanism for authenticating these downloaded components. Although the metadata identifies the intended upstream repository, that reference does not guarantee that the package and browser artifacts retrieved during installation correspond to an audited release. This creates a supply-chain trust boundary in which mutable third-party artifacts can execute installation logic and introduce additional components after the skill itself has been reviewed. ### Attack Path 1. An attacker compromises the resolved npm package, its publisher account, the registry distribution path, or a subsequently downloaded browser artifact. 2. The attacker publishes or substitutes a malicious version while retaining the expected package name. 3. A user follows the documented `npm install -g agent-browser` instruction without an exact version or integrity constraint. 4. npm installs the attacker-controlled package into the user's global environment and may execute package lifecycle scripts with the invoking user's privileges. 5. The user runs `agent-browser install` ...[truncated 1272 chars]
- Remediation
- ## Remediation Suggestions 1. Pin `agent-browser` to a specific, reviewed version rather than resolving the latest mutable release: ```bash npm install -g agent-browser@EXACT_AUDITED_VERSION ``` 2. Publish and verify the expected npm integrity hash or signed provenance for the selected release. 3. Document the approved npm registry and reject unexpected registry overrides or similarly named packages. 4. Prefer a project-local installation with a committed lockfile over a global installation, where operationally feasible. 5. Pin the Chromium revision and publish authenticated checksums or signatures for downloaded browser artifacts. 6. Separate browser installation from operating-system dependency installation. Require explicit administrative approval before using `--with-deps`. 7. Perform installation in a sandbox, container, or otherwise isolated environment with minimal filesystem and credential access. 8. Disable or tightly control npm lifecycle scripts when compatible with the package installation process. 9. Keep the duplicate installation guidance in both `SKILL.md` files synchronized so that all copies receive the same hardening changes.
