T08 · Insecure Dependencies
- Location
SKILL.md:3- Finding
Unpinned and Unnecessary Node.js Dependency in a Redirect-Only Skill
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 3–15
Vulnerability Type: Unpinned third-party package installation
Risk Level: MediumVulnerable Code:
yaml description: > Redirect — install `gsd-orchestrator` instead. This skill exists to reserve the name. The full orchestration skill with subprocess patterns, exit code handling, and HeadlessJsonResult documentation lives at `gsd-orchestrator`. metadata: openclaw: requires: bins: [gsd] install: kind: node package: gsd-pi bins: [gsd]Technical Analysis
The skill describes itself as a name reservation whose only purpose is to redirect users to
gsd-orchestrator. Nevertheless, its metadata declares thegsd-piNode.js package as an installation dependency and requires the resultinggsdexecutable.No version or integrity constraint is specified for
gsd-pi. Consequently, package resolution may retrieve whichever release is current at installation time rather than a specifically reviewed artifact. This creates a supply-chain risk because the installed package can change independently of the audited skill. Node.js package installation may also invoke package lifecycle scripts, depending on the package and package-manager configuration.The declared dependency is especially concerning because the redirect-only content does not demonstrate a functional need for the executable. This unnecessarily expands the skill's trusted computing base and installation-time attack surface. The audit did not establish that the current
gsd-pipackage is malicious; the finding concerns the unsafe, unpinned, and apparently unnecessary dependency declaration.Attack Path
- A user installs or activates the placeholder skill.
- The host processes the
metadata.openclaw.installdeclaration. - The package manager resolves the unversioned
gsd-pipackage from its configured registry.
...[truncated 1071 chars]
- Remediation
View remediation
Remediation Suggestions
- Remove the
requiresandinstallmetadata from this placeholder skill because its documented purpose is only to redirect users. - If
gsd-piis genuinely required, document the exact functionality that depends on it. - Pin the dependency to a specifically reviewed version rather than allowing unconstrained resolution.
- Enforce package integrity verification through a trusted lockfile, integrity hash, or equivalent package-management control.
- Audit the package, its transitive dependencies, and any lifecycle scripts before publication.
- Disable package lifecycle scripts during installation where operationally feasible.
- Install dependencies using a least-privileged account and isolate installation from sensitive credentials and production data.
- Remove the
