T08 · Insecure Dependencies
- Location
SKILL.md:47- Finding
Unpinned Third-Party npm Packages Executed with Broad Integration Privileges
- Content
View full analysis
# filter by session npx occ-verify --json # raw JSON output (for piping / scripting) ``` ```bash cd ~/.openclaw/extensions/openclaw-occ/notary-worker npx wrangler kv:namespace create OCC_PROOFS # Copy the output ID into wrangler.toml under [[kv_namespaces]] npx wrangler deploy ``` The document also identifies Wrangler authentication as a prerequisite: ```bash npx wrangler login ``` ### Technical Analysis The installation command globally installs `openclaw-occ` without pinning an exact package version or verifying package integrity. Consequently, the installed artifact is whichever release the npm registry resolves at execution time, rather than a version that can be tied reliably to the source reviewed during this audit. The `npx occ-verify` and `npx wrangler` instructions likewise do not specify exact versions. If an appropriate trusted local package is unavailable, `npx` may retrieve and execute a package from the npm registry. This creates a mutable remote execution boundary: registry contents, package ownership, and future releases can change independently of the audited `SKILL.md`. The risk is elevated because the installed OpenClaw plugin is documented as observing every agent tool action and integrating a ...[truncated 2291 chars]- Remediation
View remediation
-- occ-verify npm exec --package=wrangler@ -- wrangler deploy ``` 2. Verify package integrity before execution: - Publish expected npm integrity hashes or signed provenance. - Document how users can compare the package checksum and provenance with a trusted release. - Tie each recommended package release to a specific reviewed source commit. 3. Prefer a project-local installation with a committed lockfile over global installation. Use deterministic installation commands such as `npm ci` where practical. 4. Disable or carefully review dependency installation scripts when they are unnecessary. Perform installation in a restricted environment before enabling the package as an OpenClaw extension. 5. Run OpenClaw, npm, and Wrangler under least-privileged accounts. Do not perform these commands as root or with unnecessary filesystem, secret, or network access. 6. Separate Wrangler authentication and deployment from unrelated package execution. Use narrowly scoped Cloudflare credentials and rotate them if an executed package is suspected of compromise. 7. Document a package update and review process so that version changes require renewed source inspection, integrity verification, and testing before deployment. ]]>
