

























@@ -53,6 +53,48 @@ OpenClaw is both a product and an experiment: you're wiring frontier-model behav
53535454Start with the smallest access that still works, then widen it as you gain confidence.
555556+### Published package dependency lock
57+58+OpenClaw source checkouts use `pnpm-lock.yaml`. The published `openclaw` npm
59+package also includes `npm-shrinkwrap.json`, npm's publishable dependency
60+lockfile, so package installs use the reviewed transitive dependency graph
61+from the release instead of resolving a fresh graph at install time.
62+63+This is a supply-chain hardening measure:
64+65+- release installs are more reproducible;
66+- transitive dependency updates become visible review surfaces;
67+- the package tarball contains the dependency graph that release validators
68+ checked;
69+- `package-lock.json` stays out of the published package, because npm does not
70+ treat it as the publishable lock contract.
71+72+Shrinkwrap is not a sandbox and does not make every dependency trustworthy. It
73+does not replace `openclaw security audit`, host isolation, npm provenance,
74+signature/audit checks, or `--ignore-scripts` install smoke tests when those are
75+appropriate. Treat it as a release reproducibility and review-control boundary.
76+77+Maintainers should update and verify the shrinkwrap whenever the root package's
78+published dependency graph changes:
79+80+```bash
81+pnpm deps:shrinkwrap:generate
82+pnpm deps:shrinkwrap:check
83+```
84+85+Review `pnpm-lock.yaml`, `npm-shrinkwrap.json`, and any `package-lock.json`
86+diff as security-sensitive. The package validators require shrinkwrap in new
87+tarballs and reject `package-lock.json`.
88+89+To inspect a published package:
90+91+```bash
92+npm pack openclaw@<version> --json --pack-destination /tmp/openclaw-pack
93+tar -tf /tmp/openclaw-pack/openclaw-<version>.tgz | grep '^package/npm-shrinkwrap.json$'
94+```
95+96+Background: [npm-shrinkwrap.json](https://docs.npmjs.com/cli/v11/configuring-npm/npm-shrinkwrap-json).
97+5698### Deployment and host trust
579958100OpenClaw assumes the host and config boundary are trusted:
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。