T08 · Insecure Dependencies
Warning
- Location
- README.md:15
- Finding
- Mutable and Unverified Installation Sources Create Supply-Chain Risk## Vulnerability Details **File Location**: `README.md:15-27`; `examples/telegram-bot.js:4`; `examples/feishu-bot.js:4`; `examples/whatsapp-bot.js:4` **Vulnerability Type**: Unpinned and unverified software installation **Risk Level**: Medium ### Vulnerable Code `README.md:15-27`: ```bash ## Install | 安装 ### Method 1: ClawHub (recommended) clawhub install waiting-tips ### Method 2: Local install git clone https://github.com/dongsheng123132/openclaw-waiting-tips.git openclaw plugins install -l ./openclaw-waiting-tips ``` `examples/telegram-bot.js:4`: ```js * npm install node-telegram-bot-api ``` `examples/feishu-bot.js:4`: ```js * npm install @larksuiteoapi/node-sdk ``` `examples/whatsapp-bot.js:4`: ```js * npm install @whiskeysockets/baileys ``` ### Technical Analysis The documented installation procedures retrieve executable JavaScript from mutable package registry entries and the default branch of a remote Git repository. No exact package version, Git commit hash, lockfile, checksum, or signature verification is specified. The repository content is subsequently installed as an OpenClaw plugin, while the example packages execute inside bot processes. Node.js dependencies can execute code when imported and may also define installation lifecycle scripts. Consequently, compromise of a publisher account, package registry, repository, or future upstream release could change the code executed by users without changing the audited artifact. This finding does not establish that the current repository or named packages are malicious. It identifies the absence of controls that bind installation to the reviewed versions. ### Attack Path 1. An attacker compromises an upstream repository, package publisher account, registry entry, or dependency release process. 2. The attacker publishes or commits modified JavaScript under the same mutable package or repository identity. 3. A user follows t ...[truncated 979 chars]
- Remediation
- ## Remediation Suggestions 1. Pin ClawHub installations to an immutable, reviewed version where supported. 2. Replace the unqualified Git clone procedure with checkout of a signed release tag or exact commit hash. 3. Publish expected SHA-256 checksums or signed release artifacts and require verification before installation. 4. Pin exact versions of all example dependencies instead of installing their latest releases implicitly. 5. Add and publish a lockfile generated by a supported package manager. 6. Use reproducible installation commands such as `npm ci` with lockfile integrity checks. 7. Enable automated dependency vulnerability scanning and review dependency updates before merging them. 8. Run OpenClaw and bot examples under dedicated, least-privileged operating-system accounts.
