T08 · Insecure Dependencies
- Location
SKILL.md:173- Finding
Unverifiable npm Dependency Installation and Global Command Registration
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 173–182
Vulnerability Type: Unverified third-party dependency installation and global executable exposure
Risk Level: MediumVulnerable Code
bash cd ~/.skill-platform/workspace/skills/stagehand-browser-tool-free npm install npm link browser --versionTechnical Analysis
The skill directs the user or agent to run
npm installandnpm link, but the audited artifact contains nopackage.json, package lockfile, dependency version list, source code, or integrity information. The contents and provenance of the package expected at the specified directory therefore cannot be verified from this project.An npm installation can execute package lifecycle scripts, including
preinstall,install, andpostinstall, under the privileges of the invoking user. Unpinned or otherwise unreviewed dependencies can also expose the installation to dependency substitution, compromised package releases, or malicious transitive dependencies.The subsequent
npm linkoperation exposes the package's executable entry points through the applicable npm global prefix. This expands the consequences of a compromised package because an unreviewed executable namedbrowsermay become available through the user's command search path.This finding does not establish that a malicious dependency is currently present. It establishes that the documented bootstrap procedure requires execution and global exposure of package content that is absent from, and therefore unverifiable within, the audited artifact.
Attack Path
- A user or AI agent follows the initialization instructions in
SKILL.md. - The expected skill directory is populated with a package containing compromised dependencies or malicious npm lifecycle scripts.
- The user runs
npm install. - npm resolves the unspecified dependency graph and may execute package lifecycle scripts with the user's ...[truncated 1179 chars]
- A user or AI agent follows the initialization instructions in
- Remediation
View remediation
Remediation Suggestions
- Include the complete implementation,
package.json, and package lockfile in the reviewed project. - Pin direct and transitive dependencies to reviewed versions through a committed lockfile.
- Use
npm cirather thannpm installto enforce deterministic resolution. - Use
npm ci --ignore-scriptswhen lifecycle scripts are unnecessary. If scripts are required, document and audit every lifecycle script before execution. - Record dependency provenance and verify package integrity through registry integrity metadata, checksums, or signed release artifacts.
- Run dependency auditing and software-composition analysis before distribution.
- Avoid
npm linkfor normal installation. Prefer a project-local executable invoked through a controlled package script ornpx --no-install. - If global command registration is essential, document the exact binary entry point and verify that it cannot shadow an existing trusted command.
- Perform installation in a least-privileged, isolated environment without sensitive credentials or unnecessary filesystem access.
- Revise the documentation so users are not instructed to execute installation commands until all required package files and reviewed dependency metadata are included.
- Include the complete implementation,
