T08 · Insecure Dependencies
- Location
SKILL.md:4- Finding
Unpinned Third-Party npm Package Creates a Supply-Chain Risk
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, line 4
Vulnerability Type: Unpinned third-party dependency
Risk Level: MediumVulnerable Code:
yaml metadata: { "openclaw": { "emoji": "🌅", "os": ["darwin"], "requires": { "bins": ["briefing"] }, "install": [{ "id": "node", "kind": "node", "package": "@openclaw-tools/morning-briefing", "bins": ["briefing"], "label": "Install morning-briefing (npm)" }] } }Technical Analysis
The installation metadata references
@openclaw-tools/morning-briefingwithout an exact version or an integrity hash. Consequently, installation may resolve to whichever package release the npm registry currently considers applicable rather than to a release whose contents were reviewed with this project.The dependency's implementation is not included in the audited artifact, so its runtime behavior and npm lifecycle scripts cannot be verified here. If the publisher account, package, registry response, or a future release is compromised, malicious code could execute during installation or when the
briefingexecutable is invoked.Attack Path
- An attacker compromises the npm publisher account, package distribution process, or a later package release.
- The attacker publishes a malicious version of
@openclaw-tools/morning-briefing. - A user installs the Skill dependency using the unpinned package declaration.
- npm resolves and downloads the attacker-controlled release.
- Malicious lifecycle scripts execute during installation, or malicious logic executes when the user runs
briefing. - The payload operates with the permissions of the installing or invoking user.
Impact Assessment
Successful exploitation could permit arbitrary code execution in the user's security context. Depending on local permissions, the payload could access user files, configuration, environment credentials, and data available to the CLI. The documented Calendar and Reminders pe ...[truncated 167 chars]
- Remediation
View remediation
Remediation Suggestions
- Pin the package to an exact, reviewed version rather than relying on an implicit latest release.
- Verify the package with an npm lockfile and registry-provided integrity hash.
- Reference a verified source repository and review the package source, published archive, and lifecycle scripts.
- Disable npm lifecycle scripts during installation where they are unnecessary, such as with
--ignore-scripts. - Monitor the pinned package for security advisories and update it only through a controlled review process.
- Consider distributing reviewed source with the Skill or using a reproducible build and signed release artifacts.
