T08 · Insecure Dependencies
Warning
- Location
- SKILL.md:16
- Finding
- Unpinned Global Installation of a Third-Party npm Package## Vulnerability Details **File Location**: `SKILL.md`, lines 16-20 **Vulnerability Type**: Unpinned and globally installed third-party dependency **Risk Level**: Medium ### Vulnerable Code ```markdown ### 1. Install agent-browser ```bash npm install -g agent-browser ``` ``` ### Technical Analysis The skill instructs users or agents to install `agent-browser` globally from npm without specifying an exact version, lockfile, integrity hash, or verified package provenance. Consequently, the installed artifact is determined by the mutable package version resolved by npm at installation time rather than by the reviewed skill package. npm package installation may execute package lifecycle scripts. A compromised maintainer account, malicious future release, registry compromise, or unexpected upstream change could therefore cause attacker-controlled code to run during installation. Global installation also increases exposure by placing the package in a shared system- or user-level tool location rather than isolating it within the project. This finding concerns dependency installation security. The reviewed files do not demonstrate that the current `agent-browser` package is malicious. ### Attack Path 1. An attacker compromises the upstream package, its maintainer account, or its distribution channel and publishes a malicious release. 2. A user or agent follows the prerequisite command in `SKILL.md`. 3. Because no exact version or integrity value is specified, npm resolves and downloads the attacker-controlled release. 4. Malicious lifecycle scripts may execute during installation, or malicious package behavior may execute when the subsequently installed command is invoked. 5. The payload operates with the privileges of the account running npm and may modify resources accessible to that account. ### Impact Assessment Successful exploitation could provide arbitrary code execution with the privileges of the installing ...[truncated 588 chars]
- Remediation
- ## Remediation Suggestions - Pin `agent-browser` to a reviewed, exact version rather than resolving the latest release. - Use a project-local dependency with a committed lockfile instead of global installation. - Verify package provenance, registry source, publisher identity, and integrity metadata before installation. - Where compatible, disable npm lifecycle scripts during installation and explicitly review any scripts that must be enabled. - Execute browser automation in a restricted container or low-privilege account with limited filesystem, credential, and network access. - Establish a dependency-update process that reviews and tests each version before changing the pin. - Document the expected package name, version, registry, and integrity digest so unexpected substitutions fail closed.
