pnpm-lock.yaml. Los paquetes npm publicados de OpenClaw usan npm-shrinkwrap.json, el archivo de bloqueo de dependencias publicable de npm, por lo que las instalaciones de paquetes utilizan el grafo de dependencias revisado durante el lanzamiento.
Por qué es importante
Shrinkwrap es un registro del árbol de dependencias que se distribuye con un paquete npm: indica a npm qué versiones transitivas exactas debe instalar.
Para los lanzamientos de OpenClaw, esto significa:
- el paquete publicado no solicita a npm que cree un nuevo grafo de dependencias durante la instalación;
- los cambios en las dependencias se pueden revisar porque quedan registrados en el diff de un archivo de bloqueo;
- la validación del lanzamiento prueba el mismo grafo que instalarán los usuarios;
- las sorpresas relacionadas con el tamaño del paquete o las dependencias nativas salen a la luz antes de la publicación.
openclaw security audit, la procedencia de los paquetes o las pruebas básicas de instalación.
OpenClaw es un Gateway, un host de plugins, un enrutador de modelos y un entorno de ejecución de agentes, por lo que una instalación predeterminada afecta al tiempo de inicio, el uso de disco, las descargas de paquetes nativos y la exposición de la cadena de suministro. Shrinkwrap proporciona un límite estable para la revisión de lanzamientos: los revisores ven los cambios en las dependencias transitivas, los validadores rechazan variaciones inesperadas del archivo de bloqueo y los paquetes de plugins incluyen su propio grafo de dependencias bloqueado en lugar de depender del paquete raíz.
Generación y comprobación
El paquete npm raízopenclaw, los paquetes npm de plugins propiedad de OpenClaw (por ejemplo, @openclaw/discord) y los paquetes publicables del espacio de trabajo, como @openclaw/ai, incluyen npm-shrinkwrap.json cuando se publican. Las dependencias del espacio de trabajo se omiten del shrinkwrap raíz porque se publican junto con el paquete raíz; cada paquete publicable del espacio de trabajo fija por separado su propio árbol transitivo. Los paquetes de plugins adecuados también pueden publicarse con bundledDependencies explícitas, de modo que incluyen sus archivos de dependencias de ejecución en el tarball del plugin en lugar de depender únicamente de la resolución durante la instalación.
pnpm-lock.yaml. Esto mantiene intacto el límite de revisión de antigüedad, anulaciones y parches de las dependencias de pnpm.
Revise los siguientes elementos como sensibles para la seguridad:
pnpm-lock.yamlnpm-shrinkwrap.json- cargas de dependencias de plugins incluidos
- cualquier diff de
package-lock.json
package-lock.json para los paquetes publicados. La ruta de publicación npm de plugins comprueba el shrinkwrap local del plugin, instala las dependencias incluidas locales del paquete y, a continuación, empaqueta o publica.