T08 · Insecure Dependencies
- Location
readme.md:34- Finding
Unpinned Third-Party Package and Repository Installation
- Content
View full analysis
Vulnerability Details
File Location:
readme.md:34-42, duplicated atreadme.md:373-381,skill.md:76-81, andskill.md:221-226
Vulnerability Type: Unpinned and mutable external dependencies
Risk Level: MediumVulnerable Code
bash # npm global installation npm install -g openclaw-drama-generator # Or clone from GitHub git clone https://github.com/ZhenRobotics/openclaw-drama-generator.git cd openclaw-drama-generator npm installTechnical Analysis
The installation instructions retrieve mutable third-party content without specifying an exact npm version, Git commit hash, package integrity value, or reviewed lockfile. Consequently, the code installed by these commands can differ from the version that existed when this skill documentation was reviewed.
Both npm package installation and the subsequent dependency installation may execute package lifecycle scripts, such as
preinstall,install, orpostinstall. The global installation variant executes these operations in the user's environment and exposes the installed CLI system-wide for that user. The repository-based installation also checks out the repository's current default branch rather than a reviewed commit.The audited artifact contains only
readme.mdandskill.md; it does not include the referenced implementation, package manifest, dependency lockfile, or scripts. Therefore, the security properties of the remotely installed package and its transitive dependencies cannot be verified from the submitted artifact.Attack Path
- An attacker compromises the referenced npm package, GitHub repository, maintainer account, publishing token, or a transitive dependency.
- The attacker publishes a malicious package release or modifies the repository's default branch.
- A user follows the documented unpinned installation instructions.
- npm retrieves the attacker-controlled version and may execute malicious lifecycle scrip ...[truncated 975 chars]
- Remediation
View remediation
Remediation Suggestions
-
Pin the npm package to an exact reviewed version rather than installing the latest mutable release:
bash npm install -g openclaw-drama-generator@2.0.0 -
Prefer a project-local installation over a global installation and invoke the pinned binary through a controlled package script.
-
For repository-based installation, pin and verify a reviewed commit:
bash git clone https://github.com/ZhenRobotics/openclaw-drama-generator.git cd openclaw-drama-generator git checkout --detach VERIFIED_COMMIT_HASH -
Include a reviewed
package-lock.jsonand usenpm ciso dependency resolution cannot silently drift. -
Verify npm package provenance, signatures, and integrity metadata before installation.
-
Audit all direct and transitive dependencies, including package lifecycle scripts. Where compatible with the package, initially install with lifecycle scripts disabled for inspection:
bash npm ci --ignore-scripts -
Run video generation in an isolated, least-privilege environment with access only to required input and output directories.
-
Provide cloud credentials only at execution time, use narrowly scoped credentials where providers support them, and rotate credentials after any suspected package compromise.
-
Vendor the reviewed implementation into the audited artifact or provide the package manifest, lockfile, and executable scripts so the complete runtime behavior can be assessed.
-
