T08 · Insecure Dependencies
- Location
SKILL.md:6- Finding
Unpinned Third-Party Package Installed Globally
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 6 and 14–16
Vulnerability Type: Unpinned and globally installed npm dependency
Risk Level: MediumVulnerable Code
yaml metadata: {"clawdbot":{"emoji":"🚆","requires":{"bins":["railil"]},"install":[{"id":"node","kind":"node","package":"railil","bins":["railil"],"label":"Install railil (npm)"}]}}bash npm install -g raililTechnical Analysis
The Skill instructs the environment to install the
raililnpm package globally without specifying a reviewed version, package integrity hash, or lockfile. Consequently, npm resolves the mutable package version associated with the applicable registry tag at installation time.npm packages may execute lifecycle scripts during installation. Because this artifact contains only documentation and no dependency source code, the behavior of the downloaded package and its installation scripts cannot be audited from the project. The declared package name is consistent with the stated GitHub project, and there is no evidence in the audited artifact that the current package is malicious. Nevertheless, the unpinned global installation creates a supply-chain exposure if a future package version, maintainer account, or registry artifact is compromised.
Attack Path
- An attacker compromises the npm package, a maintainer account, or the package publication process.
- The attacker publishes a malicious release under the version or registry tag resolved by the unpinned package declaration.
- A user or agent follows the Skill installation instructions and runs
npm install -g railil. - npm downloads the attacker-controlled release.
- Malicious lifecycle scripts can execute during installation, or malicious code can execute when the installed
raililcommand is invoked. - The payload runs with the privileges of the account performing the installation and can affect resources accessible to that ac ...[truncated 495 chars]
- Remediation
View remediation
Remediation Suggestions
- Pin
raililto an explicitly reviewed version in both the metadata and installation example, such asrailil@X.Y.Z. - Record and verify the expected package integrity digest or use a lockfile in a local, reproducible installation workflow.
- Verify npm registry provenance, publisher identity, and correspondence between the reviewed repository source and published package.
- Prefer a project-local installation over
npm install -gto limit modifications to the global environment. - Install with lifecycle scripts disabled using
--ignore-scriptswhen the reviewed package does not require them. - Run the CLI under a least-privileged account or sandbox with restricted filesystem, credential, and network access.
- Establish a dependency-update review process so that version changes are audited before deployment.
- Pin
