T08 · Insecure Dependencies
- Location
SKILL.md:8- Finding
Unpinned npm Plugin Installation Creates a Supply-Chain Risk
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md:8-10;references/install.md:8-14
Vulnerability Type: T08: Insecure Dependencies
Risk Level: MediumVulnerable code in
SKILL.md:yaml install: - kind: node package: "@resciencelab/dap"Vulnerable code in
references/install.md:bash npm install @resciencelab/dapOr via OpenClaw:
bash openclaw plugin install @resciencelab/dapTechnical Analysis
The installation metadata and documentation install
@resciencelab/dapwithout specifying an exact version or package integrity hash. Consequently, the package version resolved at installation time can differ from the version that was originally reviewed.The executable implementation of the npm package is not included in the audited project, and no lockfile, checksum, signature, or reproducible-build information is provided. The project therefore cannot independently establish what code these commands will install. npm lifecycle scripts may also execute during installation unless explicitly disabled.
This is a supply-chain weakness rather than evidence that the current publisher or package is malicious. The package scope and matching project homepage reduce typo-squatting concerns, but they do not protect against publisher-account compromise, registry compromise, or a malicious future release.
Attack Path
- An attacker compromises the npm publisher account, publication token, package namespace, or release workflow for
@resciencelab/dap. - The attacker publishes a malicious version and causes it to become the version selected by an unpinned installation.
- A user follows the documented
npm installoropenclaw plugin installcommand. - npm downloads the attacker-controlled release.
- Malicious lifecycle scripts may execute during installation, or malicious plugin logic executes when OpenClaw loads the installed package.
- The payload oper ...[truncated 762 chars]
- An attacker compromises the npm publisher account, publication token, package namespace, or release workflow for
- Remediation
View remediation
Remediation Suggestions
- Pin the dependency to an exact reviewed version, rather than allowing the registry to select the current release.
- Record and verify the package integrity hash through an npm lockfile or an equivalent immutable manifest.
- Include the reviewed plugin source in the audit scope, or publish verifiable source and reproducible-build instructions.
- Verify package provenance and registry signatures where supported.
- Install with lifecycle scripts disabled where compatible, then explicitly run only reviewed setup operations.
- Execute the plugin under a dedicated, least-privileged account with restricted filesystem and network access.
- Add automated dependency monitoring and require security review before updating the pinned version.
