T08 · Insecure Dependencies
Warning
- Location
- SKILL.md:8
- Finding
- Unpinned Third-Party npm Executable Creates a Supply-Chain Risk<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md`, lines 8–14 **Vulnerability Type**: Unpinned executable dependency installation **Risk Level**: Medium ### Vulnerable Code ```yaml metadata: openclaw: emoji: "📋" requires: bins: ["obsidian-curator"] install: - id: node kind: node package: obsidian-curator bins: ["obsidian-curator"] label: "Install obsidian-curator (npm)" ``` ### Technical Analysis The Skill directs the installation system to obtain and install the `obsidian-curator` executable package from npm without specifying an exact version, package integrity digest, or immutable artifact reference. Consequently, the executable installed when the Skill is used may differ from the version that was reviewed. The repository contains only `SKILL.md`; it does not include the package source, a package lockfile, or other artifacts that would allow the installed implementation and transitive dependency graph to be independently audited. The document asserts that the npm package has Sigstore provenance and no lifecycle scripts, but it does not enforce provenance verification or package integrity during installation. Provenance by itself identifies the build source and process; it does not guarantee that every future release is safe or compatible with the audited behavior. ### Attack Path 1. An attacker compromises the npm publisher account, release workflow, source repository, or another component of the package supply chain. 2. The attacker publishes a malicious or compromised release under the legitimate `obsidian-curator` package name. 3. Because the Skill does not pin a version or integrity digest, a subsequent installation resolves to the compromised release. 4. The user or agent invokes the installed `obsidian-curator` executable. 5. The malicious package executes with the invoking user's operating-system privileges. 6. It can attempt to read the local Curator configuration, acces ...[truncated 673 chars]
- Remediation
- <![CDATA[ ## Remediation Suggestions 1. Pin `obsidian-curator` to an exact reviewed version rather than resolving the latest available release. 2. Pin and verify the npm artifact's integrity digest during installation. 3. Enforce Sigstore provenance verification instead of relying only on a documentation claim. 4. Include the reviewed package source, manifest, and lockfile in the audit scope. 5. Review and lock all transitive dependencies. 6. Configure automated dependency monitoring, but require security review before updating the pinned version. 7. Install and run the CLI with a dedicated, least-privileged operating-system account. 8. Provide CouchDB credentials restricted to only the required database and operations. ]]>
