T08 · Insecure Dependencies
- Location
SKILL.md:197- Finding
Unpinned Global Third-Party Package Installation
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 197-199
Vulnerability Type: Unpinned third-party dependency and external component installation
Risk Level: MediumVulnerable Code Snippet:
bash npm install -g agent-browser agent-browser install # Download Chromium agent-browser install --with-deps # Linux: + system depsTechnical Analysis
The installation instructions globally install the
agent-browsernpm package without specifying an exact, reviewed version or verifying its integrity. The installed command is then used to retrieve Chromium and, optionally, install system dependencies.Because no version pin, lockfile, checksum, signature verification, or immutable artifact reference is provided, the effective package contents can change after this Skill has been reviewed. The metadata links to a GitHub project, but the npm command does not cryptographically bind the downloaded package to that repository or to a specific audited release.
The global installation scope increases potential impact compared with a project-local dependency. In addition,
agent-browser install --with-depsmay alter operating-system packages and could be run with elevated permissions, depending on the environment. This finding does not establish that the referenced package is malicious; it identifies an avoidable supply-chain exposure caused by unsafe dependency installation guidance.Attack Path
- An attacker compromises the npm package publisher account, package registry path, release process, or another component in the distribution chain.
- The attacker publishes a malicious or backdoored version under the package name used by the unpinned installation command.
- A user follows the Skill instructions and runs
npm install -g agent-browser. - npm retrieves the current package version rather than a previously reviewed immutable version.
- Malicious package files or npm lifecycle scripts execute wit ...[truncated 1082 chars]
- Remediation
View remediation
Remediation Suggestions
- Pin
agent-browserto an exact version that has been reviewed, rather than installing the latest available release. - Prefer a project-local dependency over a global installation to reduce system-wide exposure.
- Use a lockfile and npm integrity metadata to make dependency resolution reproducible.
- Verify package provenance, publisher identity, release signatures, and checksums before installation.
- Bind documentation to an immutable release or commit and verify that the npm artifact corresponds to the referenced source.
- Review npm lifecycle scripts and the browser download installer before execution.
- Download Chromium only from an authenticated, documented source and verify its checksum or signature.
- Avoid
--with-depsunless system dependencies are necessary. Document exactly which packages and privileges it requires. - Perform installation in a sandbox, container, or otherwise least-privileged environment without access to production credentials or sensitive browser state.
- Add dependency monitoring and require a new security review before updating the pinned package or downloaded browser version.
A safer installation example should use a specifically reviewed version:
bash npm install --save-exact agent-browser@<reviewed-version> npx agent-browser installThe exact reviewed version and expected artifact integrity values should be supplied by the project maintainers.
- Pin
