Oh, mira esto. Acabas de ejecutar tu primer escaneo. Um, sí. Me olvidé por completo de esto aquí. Veamos, Dependabot, ya pasamos por eso. CodeQL. Escanea código, agrega patterns. Básicamente, sí, simplemente... Oh, es de código abierto, así que puedes ver esos patterns si quieres. StackHawk. Creo que cubrimos mucho de esto. Sabes, una de las cosas de las que no hablé fueron nuestras integraciones. Así que nos integramos con un montón de cosas diferentes, como Jira, para que puedas crear problemas directamente en StackHawk para encontrarlos. Entonces, si imaginas esa vulnerabilidad de SQL, si tienes la integración de Jira configurada, puedes ir allí y decir, oh, ¿sabes qué? Enviar a Jira, y luego creará el ticket de Jira para ti y lo vinculará. Eso es muy útil. También tenemos estas notificaciones basadas en eventos donde puedes recibir una notificación en Slack cada vez que un escaneo falla, ese tipo de cosas. Lo mismo con Teams. Tenemos un webhook genérico, por lo que podemos enviar eventos a medida que suceden en nuestro escáner, si quieres obtener la carga útil, si quieres cargarlos, si quieres enviar automáticamente cosas a alguna especie de, ya sabes, database para que puedas hacer un seguimiento de estas cosas por tu cuenta, puedes hacerlo. Creo que eso fue todo para la, oh, hay una vista previa de variables personalizadas. Esta es una nueva función que estamos lanzando ahora, creo, o la próxima semana, tal vez, no estoy seguro. No, está disponible, pero haremos un lanzamiento oficial la próxima semana con muchos recursos y materiales para ayudar a las personas a comenzar y ejecutar con variables personalizadas para APIs de GraphQL. Entonces, lo que hace esto es que te permite ingresar variables personalizadas en un formato específico. Entonces, si tienes un campo de correo electrónico aquí, puedes decir, sabes qué, quiero inyectar algunos datos falsos en forma de un correo electrónico, y creará una cadena que parece un correo electrónico aleatorio y lo usará como parte de eso, como viste, donde estaba la contraseña de cat etsy, comenzará a poner ese tipo de cosas en esos lugares. Así que es realmente, realmente genial para ejecutar tus comprobaciones de datos básicos, porque quiero decir, he escrito mucho código donde asumes que será un correo electrónico y luego manejas un patrón, pero luego hay algo más que llega y no habías pensado en eso. Entonces, lo que esto hace es que te permite inyectarlos, por lo que puedes hacerlo, hay una amplia gama de ellos. Entonces, hay correos electrónicos, teléfonos, UUID, todas esas cosas. Y se verá bastante realista, son datos que parecen reales que llegarán. Realmente pone a prueba la aplicación. Es genial tenerlo. Topher, corrígeme si me equivoco, también puedes proporcionar tus propias variables si quieres probar algo como un restablecimiento de contraseña. Y sí, esa es otra opción realmente útil. Sí, entonces, justo arriba de eso está, si no quieres usar la biblioteca Faker, si no quieres, si sabes que hay una cadena que quieres buscar, como digamos que tenías una contraseña o hay alguna cadena que si tienes un error sabes que causa un problema específico y quieres forzar esa cadena, puedes hacerlo aquí. Entonces puedes especificar estas variables personalizadas y luego las usará como parte de las pruebas. Así que hay un par de opciones diferentes aquí, puedes especificar cadenas codificadas en duro, como si sabes que hay una cadena problemática o como dije, si es una contraseña, si realmente necesitas eso, o si solo quieres generar datos que parezcan falsos e inteligentes, también puedes hacerlo. Y hablamos un poco sobre la configuración de GraphQL, hay muchas opciones aquí. Así que nuestros documentos intentan ser bastante completos. Este masterclass se trata realmente de configurar esos tres tipos de escáneres de seguridad. Y con esos tres, creo que, sí, para esta aplicación, ahora tenemos tres tipos diferentes de escaneo de seguridad habilitados. Tenemos el análisis de composición de software utilizando Dependabot, que nos informa sobre las dependencias. Tenemos el SAST, que buscará en el código fuente patrones que parezcan sospechosos y te alertará sobre ellos. Y luego tenemos DAST utilizando StackHawk, que se ejecutó contra la aplicación en vivo y encontró algunos problemas allí. Entonces sabemos que esos son problemas reales y pudimos verlos y clasificarlos, ya sea solucionarlos o decir, sabes qué, estamos bien con eso por ahora. Pero con esas tres cosas, acabamos de agregar algunas herramientas bastante buenas para nuestra aplicación vulnerable aquí, nuestra aplicación de ejemplo. En el futuro, espero que puedas usar esto para implementarlo en tu propio servicio de GraphQL. Y luego la idea es, ya sabes, una vez que estén en su lugar, cuando obtengas uno nuevo, la primera vez que lo escribas, obtendrás un montón de cosas, las revisas y solucionas y dices, no me importa esa biblioteca o lo que sea, o lo voy a solucionar. Y luego, en el futuro, cada vez que obtengas uno nuevo en cualquier confirmación, sabrás que, oh, hey, ese commit cambió algo y tengo que averiguar cuál fue el cambio y por qué esto activó esta alerta. Pero, ya sabes, eso es mucho mejor que pasar por todo el proceso y luego implementarlo y luego, ya sabes, recibir un correo electrónico que dice, hey, encontramos este problema en tu servidor de producción. Definitivamente no queremos hacer eso. Así que queremos hacerlo lo más cerca posible del commit. Y así que creo que, veamos los próximos pasos. Sí, ahora básicamente traduces lo que hicimos a tu entorno. Entonces, si no estás usando GitHub actions, cualquier proveedor de CI CD que estés usando, StackHawk los admite muchos.
Comments