T08 · Insecure Dependencies
- Location
SKILL.md:64- Finding
Unpinned Source Installation and Broad Peer Dependency Reduce Supply-Chain Reproducibility
- Content
View full analysis
=2026.1.26" } ``` `package-lock.json:1-13`: ```json { "name": "@openclaw/correlation-memory", "version": "2.0.1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@openclaw/correlation-memory", "version": "2.0.1", "devDependencies": {}, "peerDependencies": { "openclaw": ">=2026.1.26" } }, ``` ### Technical Analysis The documented installation process clones the repository's current default branch without selecting an immutable tag or commit and then immediately invokes `npm install`. Consequently, the effective code installed by a user can differ from the code that was audited. The `openclaw` peer dependency accepts every release from `2026.1.26` onward and has no upper bound. Package managers that automatically resolve peer dependencies may therefore install a future release that has not been tested or audited with this plugin. The dependency metadata is also inconsistent: - `package.json` declares project version `2.1.0`, while `package-lock.json` identifies version `2.0.1`. - `package.json` declares Vitest as a development dependency, while the lockfile root records an empty `devDependencies` object. - The lockfile ...[truncated 1674 chars]- Remediation
View remediation
