T08 · Insecure Dependencies
- Location
skill.md:55- Finding
Unpinned and Unverifiable Third-Party Package Installation
- Content
View full analysis
Vulnerability Details
File Location:
skill.md:53-60,skill.md:257-259, andreadme.md:39-46
Vulnerability Type: Untrusted supply-chain dependency installation
Risk Level: MediumVulnerable Code
From
skill.md:53-60:bash # Method 1: Install through npm npm install -g openclaw-video-publisher # Method 2: Clone the repository git clone https://github.com/ZhenRobotics/openclaw-video-publisher.git cd openclaw-video-publisher npm installFrom
skill.md:257-259:markdown - **Verification repository**: https://github.com/ZhenRobotics/openclaw-video-publisher - **Verification commit**: [pending release]Equivalent installation instructions appear in
readme.md:39-46:bash # Install through npm npm install -g openclaw-video-publisher # Alternatively, clone the project git clone https://github.com/ZhenRobotics/openclaw-video-publisher.git cd openclaw-video-publisher npm installTechnical Analysis
Both documented installation methods obtain mutable content from external sources without pinning it to an audited npm version, Git commit, integrity digest, or lockfile. The npm command installs the package globally, while the Git workflow checks out the repository's current default branch and resolves dependencies according to its current package metadata.
npm installation can execute package lifecycle scripts, including scripts defined by the primary package or relevant dependencies. Consequently, installation is not merely a data download: code controlled by the remote package publisher may execute with the permissions of the user running npm.
The alternative Git workflow does not eliminate this risk. The repository's default branch can change after the Skill has been reviewed, and the subsequent
npm installmay retrieve mutable transitive dependencies. The documentation refers to a verification repository but explicitly provides no verification com ...[truncated 2215 chars]- Remediation
View remediation
Remediation Suggestions
- Pin the npm package to an exact reviewed version rather than installing the latest mutable release.
- Publish and document the integrity digest for the reviewed package artifact, and verify it before installation.
- For Git-based installation, require checkout of a full, reviewed commit hash rather than the repository's default branch.
- Replace the pending verification field with the exact audited commit and ensure release artifacts are reproducibly derived from that commit.
- Include the implementation,
package.json, lockfile, installation scripts, and relevant tests in the auditable Skill artifact. - Commit and enforce a lockfile using deterministic installation such as
npm ci. - Audit direct and transitive dependencies for known vulnerabilities, unexpected ownership changes, lifecycle scripts, and package-name confusion.
- Initially inspect dependencies with lifecycle scripts disabled, such as through
npm install --ignore-scripts, and explicitly review any scripts before permitting execution. - Avoid global installation unless technically necessary. Prefer a dedicated, least-privileged environment, container, or isolated service account.
- Limit the runtime process to only the media files and credentials required for explicitly selected platforms, and use narrowly scoped, revocable API tokens.
