T08 · Insecure Dependencies
- Location
SKILL.md:9- Finding
Unpinned Third-Party npm Package Creates Supply-Chain Risk
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 9–13
Vulnerability Type: Unpinned third-party dependency installation
Risk Level: Mediumbash ## Installation ```bash npm install openclaw-profanitytext ### Technical Analysis The installation instructions retrieve `openclaw-profanity` without specifying an exact, audited version or integrity hash. Consequently, the installed package contents can change after this Skill has been reviewed. The repository contains only documentation and does not include the package implementation, a dependency lockfile, or other material that would allow the effective installation payload and its transitive dependencies to be audited. npm packages may define lifecycle scripts that execute during installation. No evidence establishes that the current package is malicious or that it currently contains such a script; however, if the package, a future release, its maintainer account, or a transitive dependency is compromised, following the documented command could retrieve and execute attacker-controlled code. ### Attack Path 1. An attacker compromises the package publisher, a relevant dependency, or the package distribution channel and introduces a malicious release. 2. The malicious release becomes the version selected by npm because the installation command does not pin an audited version. 3. A user follows the Skill documentation and runs `npm install openclaw-profanity`. 4. npm downloads the changed package and its dependency graph. 5. If malicious lifecycle scripts are present, they execute during installation; otherwise, malicious package code executes when the plugin is imported or used by the bot. 6. The payload runs with the permissions and environmental access of the user or service performing installation or running the bot. ### Impact Assessment Successful exploitation could permit arbitrary code execution under the installing user or bot service ...[truncated 355 chars]- Remediation
View remediation
Remediation Suggestions
- Replace the floating installation command with an exact version that has been independently reviewed, such as
npm install --save-exact openclaw-profanity@<audited-version>. - Commit and enforce a package lockfile containing registry-resolved integrity hashes.
- Review the package source, published tarball, lifecycle scripts, and transitive dependency tree before recommending the dependency.
- Use
npm install --ignore-scriptswhere lifecycle scripts are unnecessary, and explicitly document any scripts that must be enabled. - Run dependency installation and the bot under a dedicated, non-privileged account with restricted filesystem, secret, and network access.
- Enable automated dependency monitoring, but require security review before accepting version updates.
- Consider vendoring or otherwise reproducibly pinning the audited artifact when stronger supply-chain assurance is required.
- Replace the floating installation command with an exact version that has been independently reviewed, such as
