T08 · Insecure Dependencies
- Location
SKILL.md:5- Finding
Unpinned Third-Party Executable Dependency
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, line 5
Vulnerability Type: Unpinned package-manager dependencies from third-party sources
Risk Level: MediumVulnerable Code
yaml metadata: {"openclaw":{"emoji":"🧾","requires":{"bins":["summarize"]},"install":[{"id":"npm","kind":"node","package":"@speechybubble/summarize","bins":["summarize"],"label":"Install summarize (npm, speechybubble)"},{"id":"brew","kind":"brew","formula":"speechybubble/tap/summarize","bins":["summarize"],"label":"Install summarize (brew, macOS)","os":["darwin"]}]},"clawdbot":{"emoji":"🧾","requires":{"bins":["summarize"]},"install":[{"id":"npm","kind":"node","package":"@speechybubble/summarize","bins":["summarize"],"label":"Install summarize (npm, speechybubble)"},{"id":"brew","kind":"brew","formula":"speechybubble/tap/summarize","bins":["summarize"],"label":"Install summarize (brew, macOS)","os":["darwin"]}]}}Technical Analysis
The installation metadata identifies
@speechybubble/summarizefrom npm andspeechybubble/tap/summarizefrom a custom Homebrew tap without specifying an immutable package version, source commit, artifact checksum, or integrity digest. Consequently, the implementation installed by a user can differ from the implementation that existed when this Skill was reviewed.This creates a supply-chain trust boundary: control over the npm publisher account, package release process, source repository, Homebrew tap, or distributed artifacts can alter the executable installed under the trusted
summarizename. If a future or compromised release contains malicious installation hooks or runtime behavior, package installation or later invocation could execute that behavior locally.The project does not itself contain evidence that the referenced package or formula is malicious. The vulnerability is the absence of dependency pinning and artifact-integrity controls, which prevents this Skill package from guaranteeing what executable code will ...[truncated 1640 chars]
- Remediation
View remediation
Remediation Suggestions
- Pin the npm dependency to a specific audited version rather than resolving the latest available release.
- Record and verify the npm artifact's integrity hash using lockfile or equivalent package-manager integrity metadata.
- Pin the Homebrew installation to an immutable formula revision or source commit and verify the downloaded artifact with a cryptographic checksum.
- Prefer installation sources with signed releases, protected publisher accounts, multi-factor authentication, and auditable release provenance.
- Review whether the npm package defines lifecycle scripts such as
preinstall,install, orpostinstall; disable unnecessary scripts during installation where operationally possible. - Add reproducible-build or provenance verification so maintainers can confirm that distributed binaries correspond to reviewed source code.
- Establish an update process in which dependency upgrades are reviewed and tested before changing the pinned version or digest.
- Document the permissions, network access, files, and environment variables required by the executable, and run it with the least privileges necessary.
