Trabajo en Socket en Seguridad de la Cadena de Suministro, y quiero hablarles un poco sobre mi experiencia en hacerlo y cómo no sentirse abrumado por todas estas personas de seguridad que intentan hablar contigo sobre sus maravillosos productos y todo el caos que tenemos.
Entonces, la cadena de suministro simplemente significa una red de diferentes personas, diferentes herramientas, diferentes dependencias, que se unen para crear tu aplicación de software. La gente quiere exagerar esto, oh, esta red se está expandiendo cada vez más y cosas así. Y es grande, especialmente en JavaScript. La dependencia promedio puede tener alrededor de 80 dependencias, eso es lo que estamos viendo en el trabajo hoy en día. Así que cada vez que agregas una dependencia en tu package.json para node, en realidad estás agregando alrededor de 81 en promedio. Porque cada dependencia puede tener otra dependencia. Lo cual es un poco aterrador de pensar, pero es la realidad de la naturaleza de construir software en estos días. Todos estamos trabajando juntos. Y eso significa que nuestra cadena de suministro es muy grande.
Esto hace que las personas de seguridad y los proveedores de seguridad quieran que entres en pánico. Quieren que pienses que todo tipo de cosas son vulnerables. Cualquier tipo de ataque, en cualquier lugar, incluso el tipo más mínimo de ataque, es algo contra lo que debes estar alerta. Debes gastar miles y miles de tu dinero solo para defenderte de algo cuando en realidad si haces algunas preguntas. ¿Quién puede realizar realmente el ataque? ¿Qué puede hacer el ataque? ¿Dónde puede realizarse realmente el ataque? Y esas cosas. Puedes darte cuenta de que, vale, podemos invertir en estas cosas que el proveedor de seguridad ha dicho que son las cosas más importantes, pero el impacto de ellas es muy pequeño. Y así puede ser el caso de que todas estas amenazas de seguridad que se están identificando, que se están mostrando por estos proveedores de seguridad, sean imprácticas o simplemente no hagan nada a lo que tienes.
Entonces, cuando pienses en esto, debes pensar en tu aplicación, en las dependencias de tu aplicación y en los consumidores de tu aplicación. ¿Y para quién está haciendo algo realmente el proveedor de seguridad? ¿Están evitando que los consumidores hagan algo malo en tu aplicación? ¿Están evitando que las dependencias expongan peligros para tu aplicación? En nuestro trabajo en Socket, nos enfocamos principalmente en tus dependencias. Tenemos un alto nivel de confianza en tu aplicación. Y eso no quiere decir que sea lo único contra lo que nos defendemos, pero muchas veces, cuando trabajas con dependencias, no lees su código fuente. No sabes qué sucede cuando actualizas tus dependencias. Podrían agregar una nueva dependencia, y cuando esa dependencia se actualice, agregar una nueva dependencia podría introducir una puerta trasera. Podría introducir un script problemático que se ejecute en tu máquina de desarrollo, en tu servidor de compilación y cosas así. Gran parte de esto se trata de tratar de entender qué está proporcionando el proveedor de seguridad para ti. Para qué está tratando de adaptar su experiencia. Podrían ser informativos. Están tratando de decirte que esta cosa que instalaste tiene 80 dependencias dentro de ella. No estás instalando solo una cuando la agregas a tu package JSON.
Comments