La palabra segura del registro npm es Socket • The Register

Exclusivo Socket ha encontrado una manera de proteger a los desarrolladores de npm, el administrador de paquetes de JavaScript insuficientemente seguro de GitHub, envolviéndolo en una manta de seguridad.

El registro de npm, operado por NPM hasta que el negocio de seguridad fue adquirido por GitHub de Microsoft en 2020, aloja paquetes de software para el ecosistema de JavaScript. Es, por cuenta propia“el registro de software más grande del mundo”.

En los últimos años, los malintencionados se han centrado cada vez más en comprometer los registros de paquetes como npm en lo que se conoce como un ataque a la cadena de suministro. Subvertir una biblioteca de software popular tiene el potencial de permitir una distribución viral generalizada.

Quienes administran el registro npm han implementado varias defensas a lo largo de los años, como npm audit, un comando de análisis de vulnerabilidades en la interfaz de línea de comandos (CLI) de npm. Pero la implementación de la herramienta deja mucho que desear y los desarrolladores a menudo ignoran los mensajes de advertencia de auditoría, especialmente si la resolución automática no funciona.

Socket creó su propio sistema de análisis de vulnerabilidades y el año pasado lo puso a disposición de forma gratuita (con niveles de pago para equipos y organizaciones) para proyectos de código abierto. Su escáner se ejecuta como una aplicación de GitHub en repositorios de código cuando se realizan cambios. atrapa más problemas que la auditoría npm – cubriendo no solo el riesgo de la cadena de suministro, sino también la calidad, el mantenimiento, la vulnerabilidad y las preocupaciones de licencia.

Anillo en algunos cambios

Pero el escáner de Socket también está ahora disponible como CLI que los desarrolladores pueden instalar en sus máquinas. El jueves, Socket actualizó su CLI con un safe npm comando que defiende a los desarrolladores cada vez que invocan npm install o npm uninstallque perversamente puede instalar paquetes en medio de la eliminación de otros.

“npm crea lo que se llama el ‘árbol ideal’ para un determinado package.jsonexplicó Feross Aboukhadijeh, dijo El registro. “Entonces, al eliminar un paquete, en realidad podría cambiar cuál es el árbol ideal. Eliminar un paquete puede eliminar una restricción que mantiene un paquete en una versión anterior, por lo que npm puede actualizar esos paquetes a una versión más ideal/reciente”.

El motivo de esta preocupación es que los paquetes de JavaScript distribuidos a través de npm pueden verse comprometidos. Según Aboukhadijeh, Socket ha visto más de 200 paquetes remoto solo en los últimos 30 días.

Aboukhadijeh dijo que el paquete npm promedio tiene 79 dependencias transitivas, por lo que es probable que instalar uno traiga docenas de paquetes adicionales para el viaje. Y examinar todo eso manualmente no es algo que la mayoría de la gente tenga la capacidad, el tiempo o la inclinación para hacer.

Durante el uso npm audit pueden surgir vulnerabilidades conocidas, la CLI de Socket ahora es más profunda, gracias a la adición de la safe npm dominio. Se puede configurar ejecutando npm install -g @socketsecurity/clique agrega un comando de socket al PATH variable ambiental que especifica dónde se pueden encontrar los programas ejecutables.

A partir de entonces, los desarrolladores pueden invocar la herramienta ingresando socket npm install en lugar de npm install. Y crear un alias para el comando puede hacer que esto sea aún más conveniente. La organización recomienda agregar alias npm="socket npm" a su .bashrc perfil (o .zshrco cualquier shell que se esté utilizando) para que el familiar npm install la invocación pasa de forma transparente a la CLI de Socket.

Demostración de una interacción de línea de comandos de npm con la seguridad de Socket en

“Sockets safe npm herramienta envuelve transparentemente el npm comando y protege al desarrollador de malware, errores tipográficos, scripts de instalación, telemetría, software de protesta y más, 11 problemas en total”, dijo.

Este enfoque también puede proteger contra comandos más tensos como npx y npm execque ejecutan inmediatamente el código descargado.

“Debido al uso prolífico de estos comandos, nos aseguramos de agregar protección para estos comandos también, para que no ejecutes código incorrecto por accidente al copiar y pegar un npx comando desde un archivo LÉAME o una respuesta de StackOverflow y se ve comprometido”, el negocio prometido. ®

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.