T08 · Insecure Dependencies
- Location
SKILL.md:151- Finding
Unpinned Global Installation of a Third-Party npm Package
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 151-152; repeated at lines 264-265 and referenced at lines 290-291
Vulnerability Type: Unpinned and globally installed third-party dependency
Risk Level: MediumVulnerable Code
bash npm install -g agent-browser agent-browser installThe dependency table also directs users to perform the same installation:
markdown | agent-browser | CLI tool | Required | `npm install -g agent-browser` | | Chromium | Runtime | Required | `agent-browser install` automatic download |Technical Analysis
The Skill directs the Agent or user to install the latest available version of
agent-browserglobally. It does not specify an exact reviewed version, package integrity value, verified publisher, canonical repository, or lockfile.An npm installation may execute package lifecycle scripts such as
preinstall,install, orpostinstall. These scripts run with the privileges of the user performing the installation. Because no version is pinned, the effective package contents can change after the Skill itself has been reviewed.The subsequent
agent-browser installcommand downloads an additional browser runtime. The Skill does not document a trusted download source or any checksum or signature validation for that runtime.Global installation also exceeds the minimum scope necessary for browser automation. A project-local, pinned dependency in a restricted execution environment would generally be sufficient and would reduce the effect on the host system.
Attack Path
- An attacker compromises the npm package, its publisher account, the package distribution chain, or a future package release.
- The attacker adds malicious npm lifecycle code or modifies the runtime download behavior.
- A user or tool-enabled Agent follows the Skill instructions and runs
npm install -g agent-browser. - npm retrieves the current attacker-controlled ...[truncated 1427 chars]
- Remediation
View remediation
Remediation Suggestions
-
Pin
agent-browserto an exact version that has been reviewed:bash npm install --save-exact agent-browser@<reviewed-version> -
Prefer a project-local installation over
npm install -g:bash npm install --save-exact agent-browser@<reviewed-version> npx agent-browser install -
Commit and enforce a lockfile with npm integrity metadata. Use
npm cifor reproducible installations. -
Document the canonical package name, expected publisher, source repository, and package provenance so users can detect dependency confusion or publisher substitution.
-
Verify downloaded browser runtimes using vendor signatures or documented cryptographic checksums.
-
Disable npm lifecycle scripts during installation where compatible:
bash npm ci --ignore-scriptsIf lifecycle scripts are required, inspect and explicitly approve them before execution.
-
Run dependency installation and browser automation in a container, sandbox, or restricted operating-system account with no unnecessary access to secrets or sensitive files.
-
Do not recommend elevated execution such as
sudo npm install -g. Clearly state that installation must use the least-privileged account possible. -
Add periodic dependency review and vulnerability scanning, while ensuring upgrades remain explicit rather than automatically selecting an unreviewed latest release.
-
