T08 · Insecure Dependencies
- Location
SKILL.md:194- Finding
Unpinned Global Dependency Installation and Unverified Secondary Downloads
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 194-200
Vulnerability Type: Unpinned third-party dependency and externally retrieved browser/system components
Risk Level: MediumVulnerable Code
bash ## Installation ```bash npm install -g agent-browser agent-browser install # Download Chromium agent-browser install --with-deps # Linux: + system depstext ### Technical Analysis The installation instructions globally install `agent-browser` from the npm registry without specifying an exact version or integrity digest. Consequently, the installed code is determined by mutable registry state at installation time rather than by a version reviewed with this Skill. The installed CLI is subsequently instructed to download Chromium. The `--with-deps` variant may also install or modify operating-system dependencies. The instructions do not provide checksums, signatures, expected package metadata, or other controls for verifying these secondary artifacts. npm package installation can execute package lifecycle logic with the invoking user's permissions. The downloaded CLI and browser components are also trusted for later execution. Although the documentation attributes the CLI to a plausible public project, the commands do not cryptographically bind the installed artifacts to a reviewed release. No evidence establishes that the current package is malicious; the vulnerability is the unsafe and mutable supply-chain trust model. ### Attack Path 1. An attacker compromises the npm package, one of its transitive dependencies, its publisher account, or a future package release. 2. A user follows the Skill's installation instructions at a time when the compromised release is selected. 3. `npm install -g agent-browser` downloads and installs the mutable package globally. 4. Malicious package lifecycle code or installed CLI code executes with the invoking user's permissions. ...[truncated 1018 chars]- Remediation
View remediation
Remediation Suggestions
- Pin
agent-browserto an exact, reviewed version rather than allowing npm to resolve the latest release. - Record and verify the npm package integrity digest through a lockfile or an equivalent reproducible dependency mechanism.
- Prefer a project-local installation over a global installation so that dependency scope and executable resolution remain isolated to the project.
- Use an isolated, non-privileged environment such as a container or dedicated service account for installation and browser execution.
- Disable or strictly control npm lifecycle scripts during installation where compatible with the package's documented requirements.
- Verify the package publisher, registry URL, provenance attestations, and release signatures before installation.
- Pin the Chromium revision downloaded by the CLI and verify its checksum or signature against a trusted source.
- Avoid
--with-depsunless system dependencies are necessary. If required, review the exact package changes first and use a controlled package-management process rather than granting broad elevation to an unverified installer. - Document the expected package version, artifact hashes, supported Chromium revision, and update-review procedure directly in the Skill.
- Pin
