Automatización de pruebas de seguridad para desarrolladores en cada compilación

Rate this content
Bookmark

Como desarrollador, necesitas entregar rápido y simplemente no tienes tiempo para pensar constantemente en seguridad. Aún así, si algo sale mal, es tu trabajo arreglarlo, pero las pruebas de seguridad bloquean tu automatización, crean cuellos de botella y solo retrasan las versiones, especialmente con graphQL... pero no tiene por qué ser así...

El escáner de seguridad de NeuraLegion, enfocado en los desarrolladores, permite detectar, priorizar y remediar problemas de seguridad de manera temprana, en cada confirmación, sin falsos positivos o alertas, sin ralentizarte.

Únete a esta masterclass para aprender diferentes formas en las que los desarrolladores pueden acceder al escáner de seguridad de NeuraLegion y comenzar a escanear sin salir de la terminal!

Recorreremos la configuración de principio a fin, mientras configuramos un pipeline para un objetivo GraphQL vulnerable, ejecutamos pruebas de seguridad y analizamos los resultados.

Tabla de contenidos:
- Qué es realmente el escáner de seguridad de NeuraLegion enfocado en los desarrolladores (Dynamic Application Security Testing) y cómo funciona
- Ver dónde y cómo encaja un escáner moderno y preciso enfocado en los desarrolladores en el CI/CD
- Integrar el escáner de NeuraLegion con GitHub Actions
- Comprender cómo se pueden probar las aplicaciones modernas, GraphQL y otras API y mecanismos de autenticación
- Hacer un fork de un repositorio, configurar un pipeline, ejecutar pruebas de seguridad y analizar los resultados

82 min
14 Dec, 2021

Comments

Sign in or register to post your comment.

Video Summary and Transcription

Esta masterclass se centra en la automatización de pruebas de seguridad para desarrolladores, con un énfasis específico en GraphQL. NeuraLegion ofrece una solución integral de pruebas de seguridad para desarrolladores, que admite varios tipos de aplicaciones y proporciona resultados accionables con pautas de remedio. La herramienta se integra perfectamente en los pipelines de CI/CD y prioriza la precisión al minimizar los falsos positivos. El soporte y la asistencia están disponibles las 24 horas del día, los 7 días de la semana, y la herramienta proporciona información detallada sobre los hallazgos y múltiples formas de copiar las solicitudes para depurar. En general, la masterclass destaca la importancia de poner las pruebas de seguridad en manos de los desarrolladores y ofrece soluciones prácticas para integrar la seguridad en el proceso de desarrollo.

Available in English

1. Introducción a la Automatización de Pruebas de Seguridad

Short description:

Gracias por unirse a esta masterclass sobre automatización de pruebas de seguridad para desarrolladores. Hoy, nos centraremos específicamente en GraphQL. Comenzaremos con una breve introducción y luego pasaremos a una masterclass técnica práctica. Siéntase libre de hacer preguntas en el chat o en nuestro Discord.

Entonces, gracias a aquellos que se han unido a esta masterclass sobre la prueba de seguridad automatización para desarrolladores en cada compilación. Y, obviamente, al tratarse de GraphQL Galaxy, nos centraremos específicamente en GraphQL. Pero supongo que para aquellos de nosotros que ya estamos usando GraphQL con JavaScript, nos centraremos específicamente en GraphQL como una herramienta de búsqueda, pero para el propósito de esta introducción con la que comenzaré.

Y en realidad voy a pasar por una agenda, así que quizás no arruinemos eso. Pero mi nombre es Olly Morodov, VP aquí en Neuralegion. Y hoy nos acompaña Bar Hofves, a quien pueden ver, que es nuestro CTO y cofundador. Entonces, no sé si quieres saludar, Bar, pero... Hola a todos. Ahí lo tienen, al menos pueden diferenciar nuestras voces.

Entonces, ¿qué vamos a ver hoy? Haremos una introducción muy, muy breve. Lo que queremos hacer es ser muy prácticos, queremos ser técnicos, queremos pasar directamente a esta masterclass técnica práctica contigo. Pero, al menos, vamos a establecer el escenario. Daré una introducción muy, muy breve sobre por qué es importante la prueba de seguridad, qué es DevFirst, DAST y la plataforma de Neuralegion. Plataforma, y luego pasaremos directamente a la masterclass práctica. Entonces, si tienen alguna pregunta, por cierto, no duden en hacerla en el chat, o una cosa en la que estaré más atento será nuestro Discord.

QnA

Introducción a los Recursos y Preguntas

Short description:

Hay un canal específico de GraphQL Galaxy. Tenemos el Discord de GraphQL con GetNation y el Discord de Neuralegion. Nuestra documentación es un recurso valioso. Siéntase libre de hacer preguntas en el chat. Barr es una fuente de conocimiento y estaré monitoreando el chat.

Y hay un canal específico de GraphQL Galaxy, que acabo de darme cuenta de que está mal escrito. Así que voy a corregir eso porque escribí mal graph. Pero GraphQL, dejame guardar los cambios. Y solo agregaré el enlace que ya está ahí si aún no lo tienes.

Entonces, tenemos uno. Está el Discord de GraphQL con GetNation. Puedes usar eso, por supuesto. Estaremos monitoreando eso. O también, el de Neuralegion Discord, si miras en el chat, deberías poder verlo allí.

¿Qué más? Para aquellos de ustedes que van a jugar con nosotros, y espero que sean todos ustedes, nuestra documentación siempre será un recurso muy útil para ustedes en el futuro. Si aún no lo han hecho, vayan a app.neuralegion.com diagonal registrarse y regístrense ahora o pueden hacerlo con Barr. Entonces, Barr y yo los guiaremos a través de todo el proceso paso a paso cada vez que hagamos este tipo de masterclass. La mayoría de las personas están unos pasos por delante de nosotros, pero siempre tienen preguntas.

Y hablando de preguntas, por favor, colóquenlas en el chat. No sean tímidos, no muerdo. Ninguna pregunta es tonta o estúpida de ninguna manera. Queremos tener una conversación. De hecho, es un grupo bastante agradable y pequeño aquí. Así que mantengamos la conversación fluida. Estamos aquí para ayudar en todo lo que podamos, ya sea para probar sus esquemas de GraphQL o cualquier forma de testing de seguridad de aplicaciones. Barr es una fuente de conocimiento, así que no dudes en aprovechar eso. Yo no soy una fuente de conocimiento, así que no intentes usar eso conmigo, pero estaré monitoreando el chat y obviamente podré responder cualquier pregunta que tengan.

Introducción a Neurolegion y Pruebas de Seguridad

Short description:

Neuralegion está comprometido en poner las pruebas de seguridad en manos de los desarrolladores. Su herramienta DAST permite a los desarrolladores escanear aplicaciones web, APIs y aplicaciones móviles, incluyendo GraphQL, integrándose sin problemas en los pipelines de CI/CD. La tecnología garantiza la ausencia de falsos positivos y proporciona resultados claros y accionables con pautas de remedio. Muchas organizaciones están migrando de herramientas DAST tradicionales a Neuralegion debido a su efectividad. Es necesario poner las pruebas de seguridad en manos de los desarrolladores para mantenerse al día con los ciclos de lanzamiento rápidos y el aumento de las APIs. La herramienta de pruebas de seguridad de aplicaciones dinámicas de Neuralegion permite probar los esquemas de GraphQL de manera temprana y frecuente, igualando la velocidad de los desarrolladores e integrando la seguridad en todas las fases. Existen diferentes enfoques de pruebas de seguridad, como el análisis de composición de software y el análisis estático, pero la herramienta de Neuralegion proporciona una visión tridimensional integral de la aplicación, considerando microservicios y APIs.

Entonces, solo una breve introducción sobre Neurolegion. Para aquellos de ustedes que no lo sepan, hemos estado operando durante algunos años ahora. Tenemos un equipo global de, creo, alrededor de 70 personas ahora, o tal vez más. Siempre... siempre hay... Todos los días hay un nuevo empleado. Estamos muy comprometidos con la seguridad de las aplicaciones, especialmente en poner las pruebas de seguridad en manos de los desarrolladores.

Bien, entonces, enfoque en el desarrollador o DAST enfocado en el desarrollador, Pruebas de Seguridad de Aplicaciones Dinámicas, para escanear sus aplicaciones web, sus APIs, ya sea REST, SOAP o, por supuesto, GraphQL, aunque hoy en día es un poco ridículo, aplicaciones móviles del lado del servidor, y, por supuesto, sus APIs correspondientes. Y estamos enfocados en poner las pruebas de seguridad, poner DAST en manos de los desarrolladores. Probablemente hayan oído hablar de DevSecOps, Shift-Left, ya saben, hay otras herramientas que están en manos de los desarrolladores. DAST es típicamente algo que se lleva a cabo más adelante en el proceso. Así que estamos enfocados en poner DAST en manos de los desarrolladores, construyendo una superficie de escaneo desde la primera prueba unitaria, permitiendo a los desarrolladores comenzar o poder utilizar DAST de manera efectiva y maximizar la adopción, integrándose sin problemas en sus pipelines de CI/CD.

Pero uno de los pilares fundamentales de nuestra tecnología es la ausencia de falsos positivos. Así que puedes tener confianza y comenzar a confiar en los informes y los resultados que nuestro motor proporciona. Y a diferencia de otros motores o escáneres DAST, no es necesario pasar por esa validación manual. Obtienes resultados claros y accionables a medida que se detecta cada vulnerabilidad con pautas de remedio. Así que puedes comenzar a remediar en consecuencia, o al menos, priorizar porque la priorización a menudo es uno de los mayores problemas que las personas tienen cuando se trata de pruebas de seguridad.

Bien, una lista selecta de clientes. No necesitamos mencionar los nombres, pero lo que quiero decir es que ya sea que seas una startup o una organización enterprise con mil desarrolladores, la gente está alejándose de sus herramientas DAST tradicionales para usar Neuralegion. Muchos podrían estar utilizando tecnología open-source fantástica también, pero en realidad quieren combinarla con la nuestra o están abandonando por completo sus herramientas DAST tradicionales para comenzar a usar Neuralegion. Y esto se debe a múltiples razones diferentes, de las cuales tal vez hablaremos más adelante. Y como dije, no voy a hablar mucho de esto, queremos comenzar a poner manos a la obra lo antes posible.

¿Por qué son tan importantes las pruebas de seguridad? Bueno, las aplicaciones son y siguen siendo el eslabón más débil, ¿verdad? Pero en realidad, es el aumento de las APIs lo que está resultando en un modelo de amenaza y una superficie de ataque en crecimiento exponencial. Y en particular, cuando se trata de GraphQL, la mayoría de las herramientas no brindan soporte para esto, ¿verdad? Así que cuando se trata de pruebas de seguridad, es posible que encuentres que gran parte de esto se hará de manera manual. En realidad, lo que queremos hacer es darte la capacidad de probar tus esquemas de GraphQL de manera temprana y frecuente. Los desarrolladores no se detienen. La seguridad tampoco puede hacerlo. Aquí es donde todos hablan de la necesidad de las pruebas de seguridad para mantenerse al día con tus ciclos de lanzamiento rápidos, para mantenerse al día con la velocidad de DevOps, para mantener y mantener esa velocidad, para mantenerse al día con tu CI/CD. Y las herramientas DAST tradicionales están diseñadas para profesionales de la seguridad. Pero en realidad, esos silos deben romperse ahora. Las pruebas de seguridad deben ponerse en manos de los desarrolladores, que es esa metodología de shift-left. Y DAST predominantemente ha sido la parte faltante de ese lado shift-left de las cosas. La seguridad debe igualar la velocidad del desarrollador con la integración en todas las fases, empujando las pruebas previas al lanzamiento más temprano en el SDLC. ¿Alguna pregunta hasta ahora? Por cierto, no sean tímidos. Siéntanse libres de interrumpirme tantas veces como quieran.

Entonces, hay diferentes pruebas de seguridad disponibles. Esto es solo para establecer el escenario. Es posible que estén familiarizados con el análisis de composición de software, como Snyk, White-source, con el log4j que ocurrió recientemente. Aquí es donde, ya saben, estas cosas realmente van a entrar en juego. Verificar sus dependencias, verificar sus bibliotecas, asegurarse de que todo esté actualizado y parcheado. Es posible que estén utilizando análisis estático, herramientas SAS, Sonicube, GitHub CodeQL tiene uno incorporado, por ejemplo. Pero donde una herramienta de pruebas de seguridad de aplicaciones dinámicas, una herramienta enfocada en el desarrollador, es una herramienta que examina la aplicación compilada, mirándola desde afuera hacia adentro, realizando lo que teóricamente es un hack ético contra ella. Pero mirándola desde la misma perspectiva que un hacker ético. Mirándola en esta forma casi tridimensional con todos los microservicios y APIs trabajando juntos. Mientras que el análisis estático mira las cosas en un espacio relativamente unidimensional, mirando el código fuente, pero sin comprender realmente cómo cada una de las diferentes partes o microservicios están trabajando juntos y funcionando juntos como una aplicación compilada. Y eso es realmente lo que quieres poder probar. Esto es en lo que tal vez estés gastando mucho dinero en pruebas de penetración periódicas anuales. Tu herramienta va a estar mirando la capa de aplicación de manera automatizada. Pero no sé si me he olvidado algo ahí o si hay algo que quieras agregar. Puedes simplemente decir que no y puedo continuar. Eso suena bastante bien.

Soluciones de Pruebas de Seguridad para Desarrolladores

Short description:

Ofrecemos soluciones de pruebas de seguridad integrales para desarrolladores, especialmente en el contexto de las metodologías modernas de DevOps. Nuestra herramienta admite varios tipos de aplicaciones, incluyendo aplicaciones web, aplicaciones internas y APIs como GraphQL, REST y SOAP. Proporcionamos múltiples formas de descubrir la superficie de ataque, como rastrear la aplicación, utilizar archivos HAR y admitir esquemas de swagger o OpenAPI y colecciones de Postman. Nuestra tecnología está diseñada para ser fácil de usar y optimizada para las necesidades de los desarrolladores, con optimizaciones de escaneo incorporadas y la capacidad de configurar escaneos directamente desde el CLR o mediante un archivo de configuración YAML global. Priorizamos la precisión al minimizar los falsos positivos, lo que permite a los desarrolladores identificar y abordar rápidamente los problemas de seguridad. Nuestro motor valida automáticamente cada problema, proporcionando resultados confiables que se pueden poner en acción de inmediato. Nuestra integración perfecta con su pipeline garantiza pruebas de seguridad rápidas y eficientes sin ralentizar el desarrollo.

Haces bien tu trabajo. Buen trabajo, Oli. Creo que necesito que me paguen más. Me ascendieron a panelista antes y ahora estoy haciendo mi trabajo. Coanfitrión. De todos modos, echemos un vistazo muy breve porque no estamos aquí para vender y promocionar, estamos aquí para hacer un taller agradable. Entonces, ¿por qué security confía en nosotros y por qué los desarrolladores nos aman? Te necesitaré en un segundo, porque quiero que profundices un poco más en las cosas.

Hay varias cosas que hemos analizado con respecto a las pruebas de seguridad, hemos analizado otras herramientas DAS que han estado en el mercado durante más de 20 años. Pero hay muchas dificultades, muchas limitaciones, especialmente cuando se trata de las pruebas de seguridad para desarrolladores con estas metodologías modernas de DevOps, CI/CD. Una de ellas es la cobertura, y esto es muy pertinente para GraphQL. Quieres poder probar tus aplicaciones web, tus aplicaciones internas, las APIs cuando son GraphQL, REST, SOAP, por ejemplo. Los microservicios, cuando se trata de estas tecnologías modernas, la arquitectura moderna de la aplicación debe ser manejada de manera efectiva.

La autenticación es un aspecto realmente importante, y Bar hablará sobre los múltiples mecanismos de autenticación que podemos manejar. Pero lo que realmente necesitas son múltiples formas de descubrir la superficie de ataque. Así que verás, lo veremos. Admitimos el rastreo donde rastreamos la aplicación, detectamos los puntos de entrada, extraemos los parámetros y construimos la superficie de ataque. Admitimos archivos HAR, archivos de registro HTTP, que es posible que ya estés produciendo con tu automatización de QA. Entonces, si estás utilizando cosas como Selenium o Cypress IO, si son scripts funcionales, todos estos se pueden exportar como un archivo HAR y podemos utilizarlos para escanear tus aplicaciones. El beneficio de esto es que está muy definido en alcance porque lo que se incluye en el archivo HAR, digamos si interactuaste con un campo de búsqueda o un formulario de entrada específico, eso definirá el alcance de la prueba. Y esto te permitirá ejecutar pruebas en pocos minutos en lugar de varias horas. Y quizás más relevante para esta llamada, soporte completo para swagger o OpenAPI y esquemas de colección de Postman. Bien, podemos pasar a eso.

Usabilidad y adopción, te mostraremos las múltiples optimizaciones de escaneo incorporadas que tenemos en nuestra tecnología. Después de haber asistido a reuniones prácticamente en todo el mundo sobre DevOps, en las que se centran en los desarrolladores, obviamente con un enfoque en las pruebas de seguridad, incluso reuniones de pruebas de penetración, todos tienen el mismo problema con Dust. Son difíciles de usar, difíciles de configurar, tienen demasiado ruido. Los resultados simplemente no son confiables en absoluto. Las herramientas se desactivan o se necesita mucha validación manual para comprender si estos problemas realmente existen. Así que te mostraremos las optimizaciones de escaneo incorporadas que tenemos en nuestra tecnología. Realmente eliminando la carga pesada de ti, el desarrollador, si eres un desarrollador, y, de hecho, sería genial que las pocas personas que están en línea escriban en el chat, ¿Eres un desarrollador? ¿Eres un arquitecto? ¿Te dedicas a la seguridad? Tratemos de entender. Quiénes están aquí. Quiénes están aquí. Tratemos de entender tu proceso de pensamiento y podemos adaptar pequeñas piezas a personas específicas. Pero lo más importante, diseñado para desarrolladores, ¿verdad? Cómo puedes configurar los escaneos directamente desde el CLR, utilizar las múltiples listas de comandos que tenemos en nuestra documentación para conectar, llamar, programar, volver a probar. Realmente controlar los escaneos a través de código individualmente o incluso utilizando un archivo de configuración YAML global. Pero los falsos positivos realmente son uno de nuestros pilares fundamentales, ¿de acuerdo? Security, nos encantan todos los casos extremos, queremos saberlo todo. Queremos revisar los registros del motor todo el día y toda la noche y tratar de encontrar todo. Esto no es sostenible, escalable para el desarrollo. Esto no es escalable para que los desarrolladores coincidan con tus ciclos de lanzamiento rápidos. Los desarrolladores quieren hechos, ¿de acuerdo? Quieres poder ejecutar una prueba rápida que dure unos minutos contra tu aplicación utilizando tu esquema, por ejemplo, con GraphQL. Quieres saber si el problema realmente está ahí. Y luego quieres poder priorizar, ¿de acuerdo, cuáles vamos a solucionar ahora? ¿Cuáles vamos a aceptar el riesgo? Y quizás cuáles vamos a hacer más adelante. Pero lo más importante, lo que podemos solucionar ahora para que estemos lanzando un producto seguro. No puedes hacer esto con otras herramientas DAS porque producen demasiados falsos positivos. Necesitas esa validación manual. Y volviendo a esa lista de clientes, si eres una startup, no tienes tiempo ni ganas de empezar a encontrar cuáles son mis verdaderos positivos. Si eres una gran empresa con mil desarrolladores, empeora aún más. Tienes mil desarrolladores enviando nuevos commits a producción todos los días. La cantidad de deuda técnica como causa de la deuda de seguridad y los requisitos de validación manual realmente son insuperables en muchas ocasiones. Y nuestro motor valida automáticamente cada problema y puedes comenzar a confiar en los resultados. Y esto significa que puedes comenzar a poner en acción estos ahora. Reducir tu deuda técnica, pero lo más importante, cada vez que hagas pruebas, sabrás que estará ahí y es real. Integración perfecta en tu pipeline y podemos revisar las integraciones, velocidad, nuevamente, no queremos ralentizar a los desarrolladores, pruebas cortas e incrementales que se ejecutan durante minutos, no días, ajustando los escaneos, el alcance con cada prueba o cada commit.

Introducción a las Pruebas y Configuración del Masterclass

Short description:

Realizamos escaneos para pruebas técnicas LS talk 10, Mito 25 y lógica de negocios. Nuestro motor comprende las respuestas y utiliza procesamiento de lenguaje natural. Nuestro objetivo es reducir la dependencia de las pruebas manuales y encontrar vulnerabilidades temprano. Tradicionalmente, DAST se utiliza en etapas posteriores, pero priorizamos las pruebas tempranas. Podemos abrir automáticamente tickets para problemas validados e integrarnos con Slack y otras plataformas. ¡Comencemos con el masterclass!

Y en cuanto a las cargas útiles, realizamos escaneos para pruebas técnicas regulares LS talk 10, Mito 25, pero también somos la única herramienta automatizada que puede probar y detectar pruebas de lógica de negocios. Y también lo veremos.

Esto alude al hecho de que nuestro motor que se construyó sobre la base de una tecnología difusa guiada por IA realmente comprende las respuestas que recibimos. Tenemos procesamiento de lenguaje natural. Estamos analizando las respuestas que recibimos. Podemos entender lo que estamos viendo. Podemos usar esto para manipular nuestras pruebas y llevar a cabo ataques basados en lógica. Se trata de reducir tu dependencia de las pruebas manuales, insertándolas directamente en tu pipeline. Intentemos encontrar la mayor cantidad posible antes de que vayan a producción para que produzcas un producto seguro lo antes y con la mayor frecuencia posible. Y luego, generar las pruebas adecuadas para los objetivos correctos. Todo esto gira en torno a nuestras optimizaciones de escaneo, de las cuales hablaremos durante el masterclass.

¿Hay alguna pregunta hasta ahora, por cierto? Ni siquiera he estado mirando Discord. Disculpas por eso. Dije que lo haría. ¿Alguna pregunta para mí hasta ahora? ¿No? De acuerdo. No hay problema. Veo que algunos de ustedes se han unido a Discord, lo cual es genial. Vayan a eventos y luego a GraphQL Galaxy 2021. Y usemos ese canal para cualquier pregunta, a menos que estén usando el... De acuerdo. Ah, a menos que estén usando el canal Get, siéntanse libres de usarlo también. Alternaré entre los dos. Así es como debería verse.

Tradicionalmente, DAST se ha utilizado en las Etapas 4 y 5. Nosotros realmente queremos hacerlo lo más temprano posible. Hacer commits en GitHub, activar el CI, incluso el CI, ejecutar un escaneo, el build pasará o fallará. ¿Cuántos de tus builds están fallando debido a falsos positivos? Esto no va a suceder con nosotros. Abrir un ticket automáticamente. A veces no puedes hacer eso porque no puedes abrir automáticamente un ticket porque no sabes si es un problema real. Bueno, en realidad, con Neuralegion, puedes hacerlo, porque sabes que es un problema validado, y luego puedes comenzar a priorizar. Y tenemos integraciones con Slack y muchos otros. Pero si no hay preguntas, que parece que no las hay, comencemos con el masterclass. ¿Están listos? ¡Vamos a hacerlo!

De acuerdo, genial. Una cosa que quiero saber de todos los que se han unido es si están participando con nosotros. De acuerdo, realmente quiero saber quién está, ya saben, iniciando sesión, quién está siguiendo el ritmo. Voy a dejar de compartir ahora, por cierto, y te lo pasaré a ti. ¿Quién está siguiendo el ritmo? ¿Quién está, sí, quién está siguiendo el ritmo básicamente? Así que no sean tímidos. Como dije, estamos aquí para tener una conversación abierta y discusión y, por supuesto, para ayudarte mientras avanzamos. Así que siéntanse libres de... siéntanse libres de... Hágannos saber qué está pasando. Sí, sí.

Antes de comenzar, hay tres cosas con las que vamos a trabajar hoy. Una es, por supuesto, nuestra aplicación app.neurolegion.com. Olly, si aún no lo hizo, lo enviará nuevamente en el chat y también en Discord. Así que será muy obvio dónde debes ir. Vamos a trabajar con el repositorio de ejemplo de Neurolegion actions específicamente. Y lo mencionaré nuevamente, la rama GraphQL, por eso estamos aquí hoy, ¿verdad? Trabajando con GraphQL. Y vamos a testing y ejecutar contra la aplicación damn vulnerable GraphQL, que durante el masterclass, dejaremos en dvga.neurolegion.com. No te preocupes, no importa dónde esté. Ya está configurado en el repositorio. Pero solo para que sepas qué vamos a escanear, esto es, por supuesto, solo un proyecto abierto en GitHub.

Registro de una Cuenta Gratuita

Short description:

Para comenzar, regístrate para obtener una cuenta gratuita en Neurolegion. Puedes registrarte con tu cuenta de GitHub, Google o correo electrónico. Proporciona tu nombre completo, correo electrónico y una contraseña segura. Después de crear tu cuenta, verifica tu correo electrónico e inicia sesión. Avísanos si necesitas ayuda o si estás listo para continuar.

Puedes obtenerlo directamente desde la aplicación devf.damnvulnerable.graphql.application y crear el tuyo propio para testing y aprender sobre las vulnerabilidades de GraphQL. Lo primero que haremos es registrarnos para obtener una cuenta gratuita en Neurolegion. Puedes hacerlo yendo a la aplicación principal y en el inicio de sesión, simplemente baja. No tienes una cuenta, así que haz clic en `Pruébalo gratis` o puedes ir directamente a la parte de registro, lo cual te llevará aquí directamente. Porque, no sé, tal vez te gusten los atajos. Puedes registrarte con tu cuenta de GitHub. Puedes registrarte con tu cuenta de Google. Voy a utilizar la opción de registro con mi correo electrónico. Ahora, algunas cosas. Debes ingresar tu nombre completo. Necesitas tener un nombre completo. Verás, nombre completo. En realidad, no pongo mi nombre completo. Eso es un problema. Nombre completo, correo electrónico. Estoy ingresando mi correo electrónico aquí. Contraseña, por favor utiliza una contraseña súper segura y genial. ¡Listo! Haz clic en `Crear cuenta gratuita`. ¡Woo-hoo! Si estás aquí, deberías tener una cuenta gratuita. Básicamente, deberías tener un correo electrónico esperándote en tu bandeja de entrada con el mensaje `Por favor, verifica tu correo electrónico`. Y solo tienes que hacer clic en el botón, lo cual abrirá la página, permitiéndote iniciar sesión. Básicamente, te llevará de vuelta a la página de inicio de sesión, pero ahora realmente tienes una cuenta. Sí. ¿Todos están bien con eso? ¿Todos se han registrado, iniciado sesión, etc.? Avísanos si en algún momento quieres que vaya un poco más despacio, si quieres que repita algún paso. ¿Algo? Estamos aquí. Mientras tanto, voy a hacer clic en `Iniciar sesión` y te daré un momento para ponerte al día o para decirme, Vamos. Sí, creo que solo mirando aquí, creo que todo lo que puedo ver... Ya tienen un usuario y ya han terminado el masterclass. Básicamente, lo han hecho, así que ahora le toca al resto de nosotros dar el masterclass y seremos evaluados al final. Muy bien, creo que estamos listos para comenzar.

Configuración de la Organización y Clonación del Repositorio

Short description:

Crea una nueva organización y dale un nombre. Puedes elegir entre usar Docker, NPM o el Instalador de Windows para configurar el repetidor. Una vez configurado, copia el ID y el token del repetidor en la CLI. Confirma la conexión y continúa. Haz un fork del repositorio en GitHub de Neurolegion. Habilita los flujos de trabajo y la parte de CI haciendo clic en SS y habilita el flujo de trabajo dos veces.

Muy bien, así que estoy creando una nueva organización, le estoy dando un nombre. Puedes usar simplemente bars.org. No, no lo uses, ese es el mío. Voy a crear bugs.org también porque no lo tengo. Ahora, la organización es básicamente tu espacio de trabajo, lo que te permite compartir información, resultados de escaneo y colaborar con tus amigos o colegas, obviamente. Así que crea lo que quieras. Puedes cambiar el nombre después, así que no es una decisión importante.

Una vez que hagas clic en crear, comenzaremos el asistente. Ahora, el asistente aquí consta de algunos pasos para configurar el repetidor. El repetidor y el punto siguiente CLI es una herramienta que te permitirá escanear instancias locales o entornos de desarrollo locales o incluso en el contexto de CI-CD para escanear cosas dentro de redes cerradas, como un Docker Compose o cosas que suceden dentro de una máquina CI-CD, que no está enrutada hacia el mundo exterior. Así que será bastante rápido configurarlo. Puedes elegir entre usar Docker, NPM o el Instalador de Windows, no sé, si te gusta ese tipo de cosas. Puedes simplemente copiar el comando docker run y pegarlo en tu terminal. Voy a usar Docker. Si quieres, puedes usar NPM, por supuesto, o el Instalador de Windows. Una vez que hayas hecho eso, puedes hacer clic en Siguiente, lo que nos preguntará si estamos seguros de haberlo hecho. Sí, lo hicimos.

Ahora verás que el asistente ha generado automáticamente un ID y un token para el repetidor. Simplemente copia eso, y llévalo a la CLI nuevamente y pégalo. Si todo está bien y todo funciona muy rápido, deberías poder hacer clic en Actualizar Estado, y verás que está conectado. Cuando esto esté hecho, significa que podemos avanzar. Simplemente haz clic en Hecho, ¡y listo! Estamos dentro. Aquí es donde quiero que todos estén. Así que avísame si estás ahí con nosotros, porque nuestra siguiente parte está en la tierra de GitHub. Así que antes de comenzar a hacer forks, clones y editar el YAML, solo quiero asegurarme de que todos estén en la misma página. ¿Estamos todos ahí, todos? Sakes está listo. Bien. Brain Vision todo listo. La visión del cerebro... Creo que es invasión cerebral. Eso sería bueno, pero es visión. Bra, en realidad es bra... Visión... No pensaste eso, ¿verdad? Mark... Mark en su sostén. De acuerdo, tenemos a Mark, tenemos a Sakias, y supongo que otros... ¿Aún estás con nosotros, Altrix? Avinash, solo quiero asegurarme de que todos estén al día y podamos continuar. Muy bien.

Como dije, nuestro siguiente paso es hacer un fork del repositorio. Simplemente ve a Neurolegion. Ejemplo, acciones, y haz clic en fork. Obviamente, haz el fork donde puedas. Y una vez hecho, solo tenemos algo que hacer. Así que vamos a acciones, que es la parte más importante. Entiende los flujos de trabajo, blah, blah, blah. Adelante, habilítalos, no te preocupes por eso. Haz clic en SS. Y luego en la parte de CI, nuevamente debes hacer clic en habilitar flujo de trabajo. Sí, es muy importante. Sí, por lo general es solo un clic pero GitHub lo cambió, ahora son dos clics. Debes habilitarlo dos veces.

Configuración del Flujo de Trabajo y Secretos

Short description:

Para configurar el flujo de trabajo, necesitamos un repetidor y un token de explotación. Crearemos nuevos para un alcance de prueba diferente. Ve a configuración y agrega nuevos secretos del repositorio. Crea un nuevo repetidor en la aplicación NeuroLegion y copia su ID. Luego, crea un token de explotación en la configuración de usuario y copia la clave de API. Pega los valores en los secretos de la acción y asegúrate de que todo esté correcto. Una vez configurado, podemos continuar.

Entonces, nuevamente, ve a acciones en tu fork, habilita las acciones y luego ve al flujo de trabajo real y habilita el flujo de trabajo. Una vez que hayas configurado todo y estés listo, recuerda que estamos trabajando con la rama GraphQL. Eso es lo que nos interesa para esta demostración, esta masterclass. Así que diré, bien, supongo que estamos listos.

Para que este flujo de trabajo funcione, necesitamos dos cosas. Necesitamos un repetidor. Solo acerca un poco, Bar, solo para. Entonces, para que esto funcione, necesitamos dos cosas. Necesitamos la configuración secreta del repetidor y la configuración secreta del token de explotación. Recuerdas en el asistente, cuando nos da el token y el repetidor que se generó automáticamente. Esas son las cosas que necesitamos, pero no vamos a usar las que el repetidor, que el asistente ha generado. Vamos a crear nuevas porque necesitamos un alcance diferente para la prueba. Entonces, ¿cómo obtenemos realmente esas cosas y dónde las colocamos?

Primero, vamos a configuración y luego a secretos. Aquí queremos agregar un nuevo secreto del repositorio. El primero será el repetidor. ¿De dónde obtenemos este valor? Volvemos a la aplicación NeuroLegion. Vamos a repetidores. Vamos a crear un nuevo repetidor. Incluso puedes darle un nombre específico para que lo recuerdes. Entonces, CICD, repite allí, y haz clic en crear. Luego, simplemente copiamos el ID de ese repetidor que acabamos de crear y lo colocamos aquí. Muy bien, una vez que esto esté configurado, casi hemos terminado. Solo nos falta una cosa más para colocar aquí. Así que nuevos secretos del repositorio. El siguiente es un token de explotación. ¿Verdad? Entonces, un token de explotación. Y lo vamos a obtener yendo a la configuración de usuario. En la parte inferior, tenemos crear clave de API. Ahora, vamos a darle a nuestra clave de API algún tipo de nombre, podemos llamarla CI, CICD. Y hay cosas específicas que realmente necesitamos aquí. Entonces, necesitamos inicio de escaneo, lectura de escaneo, todo tipo de cosas. Pero para este propósito, seleccionemos todo porque realmente solo queremos que esto funcione. Además, no es seguro hacer eso. Pero nuevamente, puedes eliminarlo o puedes usar la base de conocimientos para ver qué alcance exacto deseas. Pero nuevamente, para este ejemplo, no necesitas nada adicional. Hacemos clic en crear. Ahora verás esta pantalla. Debes copiar eso. Antes de cerrarlo, ve a secretos de acción, pega ese valor aquí. Asegúrate de que todo parezca estar bien y haz clic en agregar secreto. Ahora puedes cerrarlo. Ahora que sabemos que todo está bien, porque una vez que se cierra, no se puede recrear pero puedes crear una nueva clave de API. Así que no es un gran problema si algo le sucede. Una vez que se configuren esas dos cosas, podemos continuar. Asegurémonos, ¿están esas dos cosas configuradas con todos? Solo un sí o un no o alguna forma de interacción para asegurarnos de que no nos estamos moviendo demasiado rápido o demasiado lento. Si nos estamos moviendo demasiado lento, entonces díganos que sigamos adelante, es fácil. Pero todos están escribiendo al mismo tiempo, lo cual es bueno. ¿Es esa la clave correcta? Nexploit underscore token, sí. Creé un repetidor con el ID del repetidor. Genial.

Ejecución del Escaneo GraphQL

Short description:

¿Necesitan que volvamos a algún punto específico? Necesitamos elegir la rama GraphQL para la prueba. Iniciaremos un escaneo basado en cualquier push a la rama GraphQL. Configuraremos el entorno de prueba, instalaremos dependencias y estableceremos variables de entorno. Luego, iniciaremos un nuevo escaneo específicamente para la seguridad de los encabezados. El objetivo es dvga-neural-engine.com. Esperaremos a que se ejecute el escaneo, probando el estado cada 30 segundos con un tiempo de espera de 10 minutos. Usaremos un punto de interrupción para cualquier problema. Una vez que comience el escaneo, podremos verlo en la interfaz de usuario.

¿Necesitan que volvamos a algún punto específico? Y la clave UAPI todavía tengo el token nexploit. De acuerdo. Buen trabajo, todos. Entonces, Sakis, ¿estás bien? Sakis está listo. Genial. Muy bien, entonces. Hay un poco de trabajo por hacer al principio, pero una vez que esté hecho, estará hecho. Sí, bien. Muy bien, una vez que esto esté hecho, solo nos queda una cosa más por hacer.

Volvemos a nuestro repositorio Fork. Necesitamos elegir la rama GraphQL, ¿verdad? Porque esa es la que realmente queremos usar para la prueba. Vamos a entrar en los flujos de trabajo un poco solo para hablar de lo que está sucediendo aquí. Entonces, vamos a iniciar un escaneo basado en cualquier push a la rama GraphQL. Y vamos a configurar el entorno de prueba. Vamos a instalar algunas dependencias, instalar nuestra herramienta Next Play CLI. Luego, vamos a configurar esas cosas como variables de entorno basadas en los secretos que obtuvimos aquí. Luego, vamos a iniciar un nuevo escaneo. Vamos a probar específicamente la seguridad de los encabezados. Vamos a agregar más y más pruebas, pero solo queríamos que se ejecutara rápido para obtener la información y ver qué está sucediendo. El objetivo, como dije, es este. Eso es dvga-neural-engine.com. Así que vamos a escanear eso. Y puedes ver que estamos usando el repetidor que se iniciará como parte de la configuración del repositorio. Y vamos a usar el token que configuramos. Luego, vamos a esperar a que se ejecute el escaneo. Vamos a probar el estado cada 30 segundos. Tendremos un tiempo de espera de 10 minutos. Tenemos nuestro token que se está utilizando y vamos a interrumpir en caso de cualquier problema. En el momento... Así que vamos a usar el punto de interrupción aquí, que básicamente, si hay algún problema, simplemente detiene todo. Oh, lo siento. Mohammed acaba de preguntar, ¿podrías compartir, supongo que se refiere a... Los recursos utilizados... Las acciones que estamos usando. Si miras arriba, deberías tener el enlace para configurar una cuenta, seguir el proceso, pero creo que está buscando el enlace de GitHub. Ve a Fork. Entonces, el GitHub original es este, ¿verdad? Así que es neurolegion/examples, pero déjame compartirlo aquí de nuevo. Mm-hmm, mm-hmm, mm-hmm. Bien, solo necesitas hacer un fork de eso. Ese es el repositorio. De acuerdo, una vez que entendamos lo que estamos haciendo, podemos volver al repositorio principal. Recuerden la rama GraphQL, y luego vamos a hacer clic en editar aquí, y vamos a, no sé, agregar un error al sistema. Puedes hacer cualquier tipo de edición o cambio en el readme, realmente, o incluso en uno de los archivos YAML, si sabes lo que estás haciendo, cualquier cosa que simplemente se empuje directamente a la rama GraphQL, y comenzar el proceso de compilación. Una vez que hagas clic en confirmar cambios, deberías ver aquí que hay una compilación en ejecución, ¿verdad? Hay un trabajo de CI en ejecución. Y en el momento en que comience a ejecutarse, también lo veremos aquí. Así que aquí puedes ir a los escaneos. Una vez que lleguemos a la parte en la que realmente se realiza la llamada para iniciar el escaneo, veremos nuestro escaneo en ejecución aquí. Y ahora solo está construyendo el contenedor, obteniendo algunos recursos, variables de entorno, todo tipo de magia de DevOps. Y una vez que lleguemos al inicio del escaneo de NextPlate, también podremos ver el escaneo en ejecución en la interfaz de usuario. ¿Alguna pregunta mientras tanto? Bueno, Mohamed dice que es el mismo enlace de GitHub que en el taller anterior.

CI Scan and GraphQL

Short description:

Nuestro CI ha llegado al punto en el que estamos comenzando el escaneo. Puedes ver el enlace directo para tu escaneo y todas las configuraciones. El escaneo está en progreso, escaneando páginas, mapeando el objetivo y encontrando URLs y formularios. GraphQL es un lenguaje de consulta donde enviamos consultas y establecemos parámetros. Puedes jugar con la aplicación vulnerable y encontrar recursos sobre cómo asegurar GraphQL. El escaneo aún está en ejecución.

Sí, pero estamos usando una rama diferente. Sí, estábamos mostrando la versión GraphQL ahora. Así que eso tomará unos segundos más. Mientras tanto... Disculpa, rápidamente, Mark dice que está bastante atrasado. ¿Dónde está la clave de la API? Ve a la parte superior derecha con la figura de perfil, tal vez, Bar, puedes mostrarlo. Y haces clic, sí. Luego haces clic en configuración de usuario y aquí puedes crear una clave de API. Solo dale cualquier nombre. Para no perder mucho tiempo, selecciona todo en el sentido de los alcances, y haz clic en crear. Aquí es donde obtienes el valor de la clave de la API. Y para los repetidores, solo tómalo de aquí. Ve a la pestaña de repetidores, haz clic en crear repetidor, y solo dale cualquier nombre y también tendrás el ID aquí. Sí. Y solo para aclarar, hay dos lugares para obtener una clave de API, uno está en la pestaña de tu organización a la izquierda. Pero eso es si tienes una de nuestras licencias de nivel pro, no recuerdo cuál es, pero eso te dará una clave a nivel organizacional. Esta es una clave de API de usuario, por lo que hay una diferencia. Obviamente podrás usar eso, pero cuando quieras comenzar a trabajar en proyectos más ampliados, colaborar, etc. con otros equipos y colegas, entonces obviamente necesitarás una clave de organización, pero esa es la diferencia. Entonces, si estás buscando en la documentación, hay una diferencia entre una clave de API de usuario y una clave de API de organización. Así que aquí en este ejemplo, estamos usando la clave de API de usuario, no la de organización, por si acaso surge esa pregunta.

Mientras tanto, mientras explicábamos eso, nuestro CI, al menos para mí, ha llegado al punto en el que estamos comenzando el escaneo. Puedes ver que también obtienes el enlace directo para tu escaneo. Aquí puedes hacer clic en eso. Te llevará a donde necesitas estar. Y ahí está la extracción, comenzando, esperando problemas, utilizando todas las configuraciones que tenemos. En unos momentos podrás ver que el escaneo ha comenzado y podremos ver toda clase de información interesante al respecto. Ahora mismo puedes ir a la configuración. Y ya puedes ver todas las configuraciones que hicimos a través del CI, lo cual es bastante genial. Así que los hosts escaneados, puedes ver quién lo inició, que deberías ser tú, no yo, espero. Verás el objetivo del rastreador. Y, por supuesto, la prueba que realmente queríamos ejecutar. Y, por supuesto, toda clase de configuraciones. Y también tu repetidor. Ese es tu ID de repetidor, para que sepas qué repetidor se usó para ejecutar ese escaneo. Mientras tanto...

Sí, para mí, ahora está en estado de ejecución. Pasó de pendiente, lo que significa que ya está en progreso. Estamos usando el rastreador. Ahora comenzará a buscar páginas para escanear. Mapeará el objetivo. Encontrará todo tipo de URLs, examinando todos los forms. Y la parte más importante es que pasará por las partes de GraphQL, que como sabemos, es lo interesante. Como probablemente sepas, GraphQL es un poco interesante porque, a diferencia de otros esquemas como Crest, este es un lenguaje de consulta, lo que significa que enviamos algún tipo de consulta y podemos establecer algunos parámetros. Realmente puedes jugar con esta aplicación vulnerable si quieres. Tiene información muy buena adjunta sobre cómo asegurar realmente GraphQL. Aquí hay buenos recursos. El video de GraphQL de 40 minutos también es muy interesante. Así que todo eso es parte de OWASP, es bastante sorprendente. Así que esto aún está en ejecución.

Understanding GraphQL Scanning

Short description:

En el escaneo, detectamos y analizamos correctamente las consultas de GraphQL, descomponiéndolas en los niveles más bajos y complejos. No necesitas importar ningún esquema ni configurar nada. Encontramos y mapeamos automáticamente los puntos finales de GraphQL en tu aplicación. Ten la seguridad de que sabemos cómo funciona GraphQL y podemos escanearlo de manera efectiva.

Permíteme ver si obtenemos alguna información, genial. Muy bien. Un poco sobre lo que ahora podemos ver aquí. Entonces, en el propio escaneo, además de ver el promedio de las solicitudes y el descubrimiento de los puntos de entrada, también vemos los parámetros pasados, que son todos los parámetros que detectamos y que se pueden probar. Puedes ver el mapa de información, todas las páginas que ya encontraste. Así que puedes ver todo tipo de recursos. Puedes ver el punto final de GraphQL, que supongo es el más interesante para nosotros. Y creo que una de las cosas más importantes acerca de nuestras capacidades es que mientras otras herramientas miran algo como una consulta de GraphQL y dicen, está bien, es como algún tipo de tal vez adyacente, tal vez no, tal vez sea solo una cadena aleatoria, nosotros realmente sabemos cómo detectarlo y analizarlo correctamente. Y no me refiero solo a JSON, donde tenemos algún tipo de parámetros. Muy bien, genial. Pero, ya sabes, GraphQL tiene su propio esquema con su propia forma de configuración y sus propios nombres. Así que puedes ver que realmente sabemos cómo descomponer todo eso para poder realizar ese tipo de pruebas y ese tipo de verificaciones en los niveles más bajos y complejos posibles. Entonces, si estás usando GraphQL, puedes estar seguro de que sabemos qué es GraphQL. Cómo se ve realmente, cómo funciona realmente. Sabemos cómo analizarlo y cómo escanearlo porque, como puedes ver, todo esto es a partir del rastreo. No necesitas importar ningún esquema, no necesitas hacer nada de eso. Encontramos esa parte de tu aplicación automáticamente, las mapearemos, las encontraremos y también las mostraremos aquí para ti. Así que realmente puedes ver lo que estamos haciendo.

Detección de puntos finales GraphQL y carga de esquema

Short description:

Tenemos varios puntos finales GraphQL en la aplicación y los detectaremos automáticamente. El punto principal para todas las consultas de GraphQL suele ser /GraphQL, y la sintaxis de la consulta es lo único que cambia. El escaneo se ejecutará y encontrará la información necesaria. El rastreador proporciona automatización, pero también puedes cargar el esquema para definir el alcance de las pruebas. Si deseas probar directamente el backend o las API, puedes elegir el esquema de la API para el punto final de la API. Admitimos las API abiertas de Swagger y las colecciones de Postman. Incluso puedes editar el esquema antes del escaneo real.

Entonces, un poco sobre- ¿Hay alguna pregunta en realidad sobre lo que Bar mencionó recién? Segundos, tenemos varios puntos finales GraphQL que unimos en el FE. ¿Cómo podemos probarlos todos aquí? En el discord, bajo GraphQL.

Entonces, tenemos varios puntos finales GraphQL que unimos en el frontend. ¿Cómo podemos probarlos todos aquí? Lo bueno es que no necesitas hacer nada. Detectaremos, también en esta aplicación, que hay múltiples puntos de entrada de GraphQL. Así que puedes ver que encontramos. Permíteme mostrarte. Así que tenemos varios puntos finales GraphQL aquí. Y si buscas un elemento GraphQL, creo que aparecerán todos los que- Sí, eso también es muy probablemente cierto. Permíteme refrescar eso. Y GraphQL. Así que todavía estamos rastreando el objetivo, pero de todos modos, creo que tiene cuatro o seis puntos finales GraphQL. Y una vez que terminemos el escaneo, los verás todos mapeados aquí. Así que para cada uno de ellos, hay una cantidad única de parámetros que puedes verificar y consultar y ver que los hemos encontrado correctamente. Pero esa no es la situación problemática para nosotros. Creamos la lógica en torno a eso. Por lo general, todos usan simplemente /GraphQL. Y ese es el punto principal para todas las consultas de GraphQL. Y solo cambia la sintaxis de la consulta. Así que no debería haber ningún problema en cuanto al escaneo.

De acuerdo, ese es el escaneo. Se ejecutará, encontrará algunas cosas y se completará. Y cuando eso suceda, veremos que nuestro escaneo está terminado en caso de falla si encontramos algún problema o se completará simplemente alcanzando el tiempo de espera porque esta aplicación es bastante grande. Por lo tanto, el análisis puede llevar un poco más de tiempo. Sí, solo para agregar a lo que mencionó Barr, aquí usamos el rastreador, que obviamente proporcionará la mayor automatización. Sin embargo, si cargas el esquema, Barr, entonces sería mucho más rápido, ¿verdad? Sí. Entonces- Queríamos mostrarte ambos aspectos para que puedas entender que tienes mucha automatización allí pero también puedes definir el alcance de la prueba cargando el esquema. No sé si tenemos eso disponible aquí. Sí, también te lo mostraré. Así que solo tomando otro recurso como ejemplo, tenemos cristales rotos. Esa es una aplicación vulnerable que también puedes usar en tus pruebas. Si quieres jugar con eso, está en las mismas acciones de ejemplo. Solo cambias a la rama de cristales rotos. Ya configuraste las credenciales, ya configuraste el repetidor, así que no tienes nada que hacer. En ese caso, también puedes hacer clic en el lápiz pequeño, ya sabes, cambiar algo, hacer el commit. Y eso también iniciará una compilación de cristales rotos y se ejecutará contra eso, lo que también mostrará todo tipo de vulnerabilidades. Así que es bastante genial. De todos modos, si deseas hacer una prueba de API y no tienes una interfaz de usuario o simplemente deseas probar el backend o las API directamente, una opción interesante que tenemos es cuando eliges el objetivo, en lugar de hacer un rastreo automático aquí, puedes hacerlo a través del esquema de la API para el punto final de la API. De esa manera, puedes ir directamente al esquema real. Solo voy a obtener el JSON. Y estoy yendo aquí. Solo para ralentizar un poco. Entonces puedes ver aquí hay tres cosas. Puedes cargarlo desde un archivo en tu escritorio. Puedes usar un archivo ya cargado previamente o enlazar al archivo, que si tienes la documentación que será de acceso público, como Bob está mostrando ahora, simplemente puedes agregar eso. Y hacer clic en importar, lo que lo obtendrá y analizará automáticamente toda la API. De esa manera, admitimos tanto las API abiertas de Swagger como las colecciones de Postman. E incluso puedes ir al propio esquema y editarlo sobre la marcha. Por ejemplo, si quieres, digamos, escanear solo estas publicaciones para API render, y quieres incluso editar eso antes de hacer el escaneo real, puedes hacer todo eso desde aquí. No necesitas hacer nada especial. Está todo aquí listo para ti.

Opciones de Escaneo y Optimizaciones

Short description:

Tienes múltiples opciones para ejecutar escaneos, incluyendo el uso de API abiertas de Swagger y Postman, la función de cuarto, la grabación de archivos HAR y la importación de esquemas. También puedes elegir entre varias plantillas o crear las tuyas propias. Las optimizaciones de escaneo te permiten personalizar el comportamiento del escaneo, como detener el escaneo si el objetivo deja de responder u optimizar la velocidad y precisión. Puedes controlar qué partes de la solicitud probar, incluyendo el cuerpo, la consulta de URL, el fragmento, las cabeceras, la ruta de URL, la consulta de URL artificial y el fragmento de URL artificial.

Simplemente puedes llevarlo y divertirte con él. Así que esa es una característica bastante genial. Nuevamente, API abiertas de Swagger, y Postman. Puedes usar cualquiera de ellos.

Además de eso, también tenemos, por supuesto, la función de cuarto que acabamos de mostrar donde simplemente puedes poner la URL de lo que deseas escanear y se mapeará y escaneará automáticamente. Y está el archivo HAR. El archivo HAR te permite hacer una grabación con tu navegador o con Selenium o cualquier tipo de automatización de QA para que puedas crear un escenario específico grabado y luego escanearlo una y otra vez permitiéndote identificar partes específicas de tu aplicación que deseas probar y escanear. Es especialmente útil si tienes cosas como, ok, acabamos de agregar una nueva función que te permite hacer, no sé, algún contexto como formulario. No quieres escanear toda la aplicación una y otra vez. Solo quieres identificar esos escenarios específicos. Entonces puedes crear eso o importar el esquema y simplemente elegir este nuevo punto final o puedes pedirle a tu equipo de automatización de QA que lo agregue a Cypress IO o Selenium y hacerlo todo de una vez. Así que todas esas opciones están disponibles.

Otra cosa que quiero mostrar es que hablamos sobre la seguridad de las cabeceras en ese ejemplo de acción, pero eso es solo una de todas las cosas que realmente podemos probar. Entonces, cuando vas a la parte de las pruebas, tienes todas las pruebas que realmente podemos hacer que, como puedes ver, son bastante numerosas. Sí. Puedes elegir qué cosas tienen más sentido, qué cosas son menos relevantes. Y por supuesto, creo que una de tus opciones también es cuando inicias un nuevo escaneo, puedes comenzar ese escaneo. Lo siento, déjame crear un nuevo escaneo. Y puedo hacer eso, puedo crear un nuevo escaneo desde donde están mis plantillas, Configuración de la Aplicación. Sí, ves que actualizamos. Oh, es la Plantilla de Escaneo, lo siento. Actualizamos la interfaz de usuario. Sí, hemos actualizado la interfaz de usuario. Y ahora con el Zoom, no puedo encontrar nada. Pero sí, tenemos plantillas que puedes usar para ejecutar los escaneos. Entonces, puedes comenzar desde OSTOP 10, MitraTrop 25, desde 2018, 19, luego 2020. Puedes ejecutar un Escaneo Ligero, Escaneo Pasivo, Escaneo Profundo y Escaneos de API. Esas elegirán automáticamente las pruebas relevantes para tu escenario, ¿verdad? Y te permitirán no perder tiempo, solo probar lo que es relevante para ti. Sí, puedes crear tus propias plantillas. No necesitas usar las que son globales, las que hemos creado. Sí, es básicamente como crear un nuevo escaneo. Puedes elegir, configurar y luego simplemente usar eso en lugar de configurar todo el escaneo en conjunto. barbacoa Solo, lo siento, antes de que muestres eso, ¿podríamos por favor revisar las optimizaciones de escaneo? Y crear un escaneo. Porque dije que hablaría de eso. En realidad, dije que tú hablarías de eso. Aún no has hablado de eso. De acuerdo. Entonces, superficie de ataque de la visualización. Cuando creas un nuevo escaneo, tienes esta pequeña sección muy agradable que habla sobre cómo optimizar el escaneo para que sea más rápido y encuentre más cosas, lo cual es algo que siempre queremos. Esta parte te brinda mucho control sobre lo que harás, cómo deseas comportarte frente al objetivo que estás escaneando. Por ejemplo, si el objetivo puede dejar de responder y en esa situación quieres detener el escaneo automáticamente, tienes esta opción aquí, detener el escaneo si el objetivo no responde durante. Tienes la optimización de escaneo inteligente, que como puedes ver, utiliza muchas decisiones automáticas basadas en algoritmos y análisis contextual para decidir si quieres escanear algunas cosas y si debemos omitir algunas cosas tal vez. Si quieres un escaneo más robusto, puedes desactivar eso pero eso significa que pagarás por eso en tiempo de escaneo. Entonces, las optimizaciones siempre están aquí para tratar de optimizar el alcance, probar menos pero lo que importa. Por supuesto, si no te importa el tiempo y no estás haciendo esto en el CICD solo Hail Mary, abrir todo y también puedes hacer eso. Omitir los parámetros estáticos te permite controlar si debemos omitir o no omitir parámetros que no parecen cambiar el comportamiento del objetivo. Entonces, por ejemplo, todo tipo de valores que pueden estar cambiando no parecen afectar al objetivo de ninguna manera. Entonces podemos omitir esos y por supuesto, si hay algunos puntos de entrada en el objetivo que tardan más en responder y no queremos perder ese tiempo o decimos escucha si tarda más de un segundo en responder, simplemente omítelo, tenemos esa opción aquí. La última parte es sobre qué partes de la solicitud realmente queremos probar. Por defecto, es el cuerpo, la consulta de URL y el fragmento. También puedes agregar las cabeceras, la ruta de URL, la consulta de URL artificial y el fragmento de URL artificial.

Soluciones de Pruebas de Seguridad y Autenticación

Short description:

Ofrecemos soluciones integrales de pruebas de seguridad para desarrolladores, especialmente en el contexto de las metodologías modernas de DevOps. Nuestra herramienta admite varios tipos de aplicaciones, incluyendo aplicaciones web, aplicaciones internas y APIs como GraphQL, REST y SOAP. Proporcionamos múltiples formas de descubrir la superficie de ataque, como rastrear la aplicación, usar archivos HAR y admitir esquemas de swagger o OpenAPI y colecciones de Postman. Nuestra tecnología está diseñada para ser fácil de usar y optimizada para las necesidades de los desarrolladores, con optimizaciones de escaneo incorporadas y la capacidad de configurar escaneos directamente desde el CLR o mediante un archivo de configuración YAML global. Priorizamos la precisión al minimizar los falsos positivos, lo que permite a los desarrolladores identificar y solucionar rápidamente problemas de seguridad. Nuestro motor valida automáticamente cada problema, proporcionando resultados confiables que se pueden abordar de inmediato. Nuestra integración perfecta con tu canalización garantiza pruebas de seguridad rápidas y eficientes sin ralentizar el desarrollo.

Todo eso aumentará el alcance del escaneo permitiéndote probar más partes del objetivo pero, por supuesto, llevará más tiempo hacerlo. ¿Algo más, Oli, que creas que deberíamos cubrir?

Sí, lo tengo. Autenticaciones. Oh, sí, quiero decir, en Crear escaneo, creo que cubrimos todo, ¿verdad? Ah, lo siento, en Crear escaneo, sí, quiero decir, puedes programar escaneos. Quiero decir, todas estas cosas, por cierto, son realmente, realmente autoexplicativas. Estoy seguro de que podrás entenderlo. Una de las cosas que puedes hacer es cuando haces clic aquí en la configuración de tu usuario, en Ayuda tienes tanto la base de conocimientos como la documentación de la API. Así que todo lo que hemos hecho aquí está completamente controlado por la API, y tenemos nuestro propio Swagger al que puedes acceder libremente aquí en la Documentación de la API, y también tenemos nuestra base de conocimientos, que tiene información sobre nuestro sistema, cómo usarlo, sobre las pruebas que podemos hacer, cómo hacer las cosas, cómo integrar. Por ejemplo, si tienes CI, CD, puedes ver que admitimos muchas de esas integraciones. Acabamos de demostrar las acciones de GitHub, pero también admitimos Azure Pipelines, JFrog, CircleCI, Jenkins, TravisCI y GitLab. También puedes, en los ejemplos de acciones, ver aquí que tenemos, como puedes ver, muchos de esos ejemplos. Jugamos con GraphQL, y acabo de hablarte de Broken Crystals, pero tenemos configurado el proyecto de CircleCI para mostrarte específicamente cómo usar ese tipo de YAML. Tenemos un escaneo con un archivo HAR, un escaneo que usa SWAGger, y una prueba de enumeración de ID que muestra una vulnerabilidad de lógica empresarial, lo cual es bastante impresionante. Es una cosa, por cierto, en la que no te enfocaste cuando pasaste por la configuración del escaneo, por cierto. Entonces, tal vez, quiero decir, sé que ya lo mencioné antes, pero tal vez tú, como la persona que construyó el motor, puedas darles un poco más de detalle y por qué son tan geniales, por qué son tan importantes, y cómo estamos liderando en este aspecto. Básicamente, tenemos tres secciones de vulnerabilidades. Tenemos las pruebas estándar de vulnerabilidades comunes. Tenemos las pruebas de vulnerabilidades de lógica empresarial y las pruebas de terceros. Las pruebas de vulnerabilidades de lógica empresarial prueban cosas que requieren mucho más que simplemente enviar la carga útil correcta al valor correcto. Estamos mirando el contexto de la página que estamos viendo. Estamos evaluando si esa es la página correcta para hacer este tipo de prueba. Y luego intentamos jugar con los valores mientras seguimos evaluando lo que realmente está sucediendo desde los ojos de un usuario. Así que estamos utilizando mucho análisis de contexto. Estamos utilizando algo de IA aquí. Si quieres saber específicamente qué tipo de IA, en esos casos, utilizamos reconocimiento de imágenes para detectar diferentes vistas, lo cual es bastante impresionante. Especialmente cuando quieres saber si algo que hiciste realmente cambia el estado del objetivo. También tenemos nuestra propia integración de controlador web. Creamos nuestro propio controlador patentado para Firefox sin cabeza, lo que nos permite hacer ese tipo de vulnerabilidades basadas en la lógica empresarial, moviendo el navegador manualmente, haciéndolo ejecutar todo tipo de acciones dentro de las páginas. Así que de nuevo, eso es bastante genial. Y también es lo que nos permite en las vulnerabilidades comunes no tener falsos positivos, lo cual también es algo de lo que habló Oli. Pero creo que nuevamente, cuando hablamos de CI, CD, y hablamos de pruebas que deben ejecutarse bastante rápido al tiempo que son muy precisas, tener falsos positivos es terrible porque significa que simplemente estamos fallando sin motivo. Y aquí es donde realmente tener cero falsos positivos se vuelve no solo algo bueno tener, sino realmente crítico para tu éxito. Así que esas fueron las pruebas y en cuanto a la autenticación. Supongo que todos ustedes tienen aplicaciones que han desarrollado. Todas esas aplicaciones que han desarrollado tienen algún tipo de pantalla de inicio de sesión, muy probablemente, tal vez no. Y eso también es genial. Pero supongo que aquellos de ustedes que desarrollan cosas así también crearon algún tipo de mecanismo de inicio de sesión. Probar tu sitio web o tu aplicación sin configurar la autenticación significa que simplemente te quedas en la pantalla de inicio de sesión, ¿verdad? No podemos ir más allá de eso. Y aquí es donde entra en juego la autenticación. Tenemos varias formas de autenticación, comenzando por la autenticación de formulario, autenticación de encabezado, llamada a la API, Open ID Connect, autenticación personalizada de varios pasos, autenticación basada en el navegador y LTLM. Cualquier cosa que puedas imaginar, la autenticación personalizada de varios pasos te permite crear un script con tantos pasos de llamadas de autenticación como desees mientras incorporas partes de las respuestas en las solicitudes. Y realmente tienes total libertad sobre el flujo de la autenticación. También está la autenticación basada en el navegador, que te permite simplemente ingresar la URL de la página que tiene el inicio de sesión, el nombre de los campos y qué valor debería haber allí y comenzar el escaneo. Así que admitimos todas esas formas de autenticación. Y, por supuesto, si necesitas información o ayuda en cuanto a configurar esas cosas entonces tenemos, nuevamente, ya sabes, la documentación que es bastante completa. Todas las opciones de configuración con capturas de pantalla. Algunas de ellas incluso tienen videos adjuntos para mostrarte paso a paso cómo configurarlas. Cómo hacerlas funcionar, qué configuración debe haber, dónde y cómo deben comportarse. Así que sí, todo eso está disponible en la documentación. Y sí, realmente hemos intentado hacerlo lo más autoservicio posible. Y tenemos muchos usuarios que no se comunican con nosotros porque la documentación es realmente clara, simple y fácil de leer y seguir.

Soporte y Asistencia en Pruebas

Short description:

Si tienes alguna pregunta o necesitas ayuda, no dudes en contactarnos a través del chat en vivo o por correo electrónico. Nuestros ingenieros de soporte están disponibles las 24 horas del día, los 7 días de la semana para ayudarte a tener éxito. También te animamos a realizar pruebas en la aplicación intencionalmente vulnerable, Broken Crystals, y hacernos saber cómo te va. El escaneo contra Broken Crystals tomó 36 segundos para encontrar la primera vulnerabilidad, que fue la vulnerabilidad de los buckets abiertos, proporcionando acceso a AWS S3. La herramienta proporciona información detallada sobre los hallazgos, similar a un informe de control de calidad.

Sin embargo, si tienes alguna pregunta, no sé si puedes verlo en la pantalla. Pero también puedes contactarnos a través del chat en vivo. Y nuestros ingenieros de soporte siempre están aquí para ayudar. Queremos que tengas éxito. Así que no dudes en contactarnos ya sea a support en neurolegion.com o haz clic en el ícono de chat en la esquina inferior derecha de la pantalla. Y sí, si tienes alguna pregunta, y si hay alguien disponible, lo cual generalmente hay, las 24 horas, entonces podremos ayudarte lo mejor que podamos.

Tenemos, estoy consciente de que Bar ha estado hablando mucho, pero ha cubierto temas realmente buenos, interesantes que espero que todos ustedes quisieran discutir. ¿Pero hay alguna pregunta en este momento que te gustaría que respondiéramos?

Bra en vision está escribiendo. ¿Estas configuraciones viven en su, tal vez necesite hacer esto un poco más grande, okay. En su plataforma, oh, él mismo lo dejó. Pensé en reírme. En su plataforma, ¿qué creas una configuración que podamos poner en nuestro repositorio de aplicaciones? ¿Entonces qué configuración específicamente? Creo que se refiere a las configuraciones YAML.

Oh, la configuración YAML. Así que básicamente puedes, okay, así que básicamente puedes copiar y pegar lo que hicimos en los ejemplos de acciones. Es solo una forma muy, muy simple de comenzar. Pero como dijimos, puedes obtener toda esta información y cómo crear ese tipo de cosas específicamente para tu aplicación siguiendo la documentation. Incluso si- Haz clic en la lista de comandos incluso, okay. Tienes la lista de comandos y ese es el lugar donde tienes todas las opciones para la línea de comandos. Así que puedes cambiarlo. Puedes ver qué es relevante para ti, qué no lo es, realmente qué hace cada opción. Lo que tenemos aquí es solo un ejemplo. Ejemplos de acciones, ¿verdad? Pero solo muestra algunos escenarios predefinidos, pero simplemente cambiando eso, ya sabes, al final, ¿verdad?, si entramos en una de esas acciones de ejemplo, lo único que realmente tenemos aquí, que es de interés, supongo, para todas las aplicaciones, es simplemente instalar nuestro CLI y luego mostrarte cómo configurar las variables de entorno, ejecutar el escaneo, que es esto, y luego esperar y buscar problemas. Eso es todo. Esa es la única parte que te importa. Y tu objetivo puede ser Broken Crystal o mi aplicación súper genial y asombrosa o algo local que se esté ejecutando dentro de Docker Compose, aquí dentro del contexto de CI, si tiene sentido. Sí. Tiene sentido. Gracias. De nada. No hay problema Mark, supongo. ¿Hay alguna otra pregunta de alguien más? Más importante aún, ¿ha funcionado para todos? Y como mencionó Bar, siéntete libre de realizar una prueba en Broken Crystals. Encontrará, quiero decir, es una aplicación intencionalmente vulnerable. Por favor, no nos envíes informes de recompensas por errores porque están intencionalmente allí. Bar se ríe solo porque recibimos probablemente cientos todos los días. Y, ya sabes, avísanos cómo te va. Oh, aquí podemos ver en realidad el escaneo que hizo contra Broken Crystals. Sí, terminó bastante rápido, después de unos segundos. Bien, okay. Como puedes ver, ¿verdad?, este está más acotado y es más definido. Así que realmente toma 36 segundos encontrar la primera vulnerabilidad que es la vulnerabilidad de los buckets abiertos. Básicamente, solo acceso a AWS S3, lo que te permite listar todo lo que hay allí. Realmente puedes ver ejemplos de lo que encontramos. Puedes ver esto, enumeramos la información. Lo mostramos de manera muy clara. Puedes ver la solicitud que hicimos, las respuestas. Así que tenemos mucho de eso. La herramienta en sí misma, no solo la forma en que analizamos GraphQL o la forma en que rastreamos, también cómo te proporcionamos como desarrollador la información sobre lo que hicimos y cómo lo hicimos. Así que todos los detalles sobre los hallazgos se parecen a un informe de control de calidad, al menos para mí, eso es lo que pretendía.

Información de Pruebas y Depuración

Short description:

Durante la prueba, proporcionamos información actual sobre lo que estamos probando, las condiciones y la vulnerabilidad. Nuestra documentación brinda información detallada sobre posibles hallazgos y cómo solucionarlos. Ofrecemos bloques de código, ejemplos y pautas de verificación. Además, proporcionamos varias formas de copiar la solicitud como un comando curl, lo que permite una fácil depuración y validación sin ejecutar múltiples escaneos.

Durante esta prueba se verifica lo siguiente y tienes la información actual de lo que estamos probando, qué estamos haciendo. ¿Cuáles son nuestras condiciones aquí? Y luego eso es lo que sucedió. Y sabes por qué obtuviste esta información y por qué decidimos que hay una vulnerabilidad aquí.

También creo que es bastante genial, nuevamente en nuestra documentación cuando vas a... Eso está en... Veamos, estoy probando la guía de vulnerabilidades de integración. Muy bien. Entonces, en la guía de vulnerabilidades tienes información sobre todos los posibles hallazgos que tenemos y dentro de cada uno de ellos hay información sobre cómo solucionarlos. Por ejemplo, en la autenticación de JWT roto si haces clic en eso, realmente tienes además de información más detallada sobre la vulnerabilidad actual tienes en las sugerencias de remedio bloques de código reales y ejemplos sobre cómo solucionar algo así y cómo debería verse, qué debes hacer y cómo verificar todo tipo de cosas. Así que realmente nos adentramos en el, eres un desarrollador, te estamos hablando como desarrollador de desarrolladores para desarrolladores. Esa es la idea principal de nuestro escritorio y nuestra solución.

Una cosa que no mostramos, por cierto, solo para mostrarlo ahora y tal vez puedas mostrarlo aquí son las múltiples formas diferentes en las que se puede copiar como un curl, podemos copiar la solicitud solo para hablar un poco más sobre el modo de depuración, por ejemplo. Claro. Por ejemplo, cuando tengo este tipo de hallazgo, quiero poder verificar eso. Entonces puedo hacer clic en modificar script que te brinda una capacidad similar a curl aquí dentro de la interfaz. Pero en realidad, si también quieres, puedes simplemente tomar la solicitud, tienes copiar como curl, copiar la solicitud en crudo, URL, copiar encabezados y simplemente copiar eso y pegarlo en tu terminal y ejecutarlo, básicamente obteniendo la misma información aquí lo que te permite, en lugar de ejecutar un nuevo escaneo y un nuevo escaneo y un nuevo escaneo, te permite simplemente ingresar, ya sabes, un comando curl hasta que logres solucionar el problema y hasta que logres validar eso, y luego puedes ejecutar un nuevo escaneo lo que te permite asegurarte de que efectivamente no haya más problemas.

Q&A y Resumen

Short description:

¿Alguna otra pregunta? ¿Puedes ver cómo se puede utilizar esto en el futuro? Nos gustaría mostrarte otro ejemplo de un hallazgo. Es uno interesante que muestra los niveles a los que nuestro motor llega para validar cada hallazgo. Realmente nos esforzamos para asegurarnos de que todo lo que detectamos esté validado. Es una característica interesante y en la que se puede confiar. Estamos encantados de responder cualquier otra pregunta. Para concluir, esperamos que te hayas registrado en nuestra cuenta gratuita. Tienes más funcionalidad con la cuenta SuperDuper durante dos semanas. No olvides el rastreo para la Automatización Perfecta. Sube tu documentación de OpenAPI o Swagger, colecciones de Postman y archivos HAR. Simplicidad con archivos de configuración YAML y estás listo para empezar.

¿Alguna otra pregunta de los presentes? ¿Has tenido éxito con tu escaneo? ¿Están todos al tanto? Más importante aún, ¿puedes ver cómo se puede utilizar esto en el futuro, ya sea para GraphQL o no? Todos se han quedado callados.

De acuerdo, Bob, ¿hay algo más que necesitemos cubrir o algo más porque sé que nos gusta devolverle a la gente mucho de su tiempo, realmente puedes ver lo simple que puede ser. Nuevamente, se puede utilizar como un escáner independiente o, más importante aún, integrado en tu canalización para probar cada compilación o cada confirmación, cada solicitud de extracción. Pero si no hay preguntas específicas, entonces hay algo que me gustaría mostrarte y luego podemos concluir con un resumen. Pero habla ahora o calla para siempre, como dicen.

De acuerdo, Bala, si puedo tomar solo, oh, no deberías dejarme, de acuerdo, bien. Pero me gustaría mostrarte en realidad, porque me gusta mostrarlo, si aún no lo has visto. Quiero mostrarte otro ejemplo aquí de un hallazgo. Y es uno interesante que muestra lo que Bala mencionó con el navegador headless propietario que tenemos. Porque como desarrolladores, lo último que quieres es perseguir tu cola, perseguir fantasmas, o para acuñar una broma que inventé en mi último taller para unirme, seguir o perseguir la cola de un fantasma. Pero con lo que voy a registrar esa marca en realidad. Porque creo que... Pero el cross site scripting reflexivo, de acuerdo. Y es uno interesante para mostrarte solo porque muestra los niveles a los que el motor llega para validar cada hallazgo, pero no obtendrás con otras herramientas. Y esto es realmente por qué nos gusta, solo para hablar de esto en realidad. Porque se trata de precisión y resultados accionables para los desarrolladores. Por lo que puedes ver esto como un XSS reflexivo en particular. Solo se ha encontrado en la consulta al cambiar el valor del parámetro XML. Identifica el valor que se inyectó aquí. ¿De acuerdo? Ahora damos las sugerencias de remedio que Baz ya mencionó. Tenemos más lecturas sobre esto. Tenemos una vista dif de las solicitudes. Lo que eliminamos, lo que agregamos. Tenemos los encabezados, tenemos la respuesta aquí, puedes ver el encabezado en el cuerpo. Pero aquí puedes ver que en realidad te proporcionamos capturas de pantalla automatizadas de esta ventana emergente ejecutable que se generó con esta carga útil específica. ¿De acuerdo? Esto solo te muestra lo que Baz mencionó anteriormente. Realmente nos esforzamos mucho para asegurarnos de que todo lo que detectamos esté validado. Si es una inyección de SQL, hemos extraído el nombre de la base de datos y tal vez un poco más. Y Bar, no sé si quieres dar algunos ejemplos adicionales de otras validaciones que proporcionamos, siéntete libre de intervenir. Pero estamos ejecutando este navegador headless, buscamos la reflexión, tomamos una captura de pantalla, sabes que está ahí. Arréglalo. No hay falsos positivos, realmente es importante. Así que espero que todos estén de acuerdo en que es una característica muy agradable y algo en lo que puedes confiar. Estoy a punto de concluir. Solo quiero repasar una diapositiva de resumen que me llevará unos dos o tres minutos, tal vez. Pero antes de hacerlo, si alguna otra pregunta surgió en sus mentes, obviamente estamos encantados de responder. Así que solo como conclusión, espero que te hayas registrado con éxito en nuestra cuenta gratuita. Por favor, pruébala. Creo que en realidad tienes dos semanas, tienes una cuenta SuperDuper, tienes algo de Pro, habrás recibido un correo electrónico para confirmar qué tipo de cuenta tienes durante dos semanas. Eso te brinda mucha más funcionalidad para que tú y tus colegas y compañeros de equipo la utilicen. No olvides, tienes el rastreo para la Automatización Perfecta. Eso es lo que usas en esta rama de GraphQL. Así que simplemente lo rastreamos, detectamos los puntos finales de GraphQL, y comenzamos a probar. Puedes subir tu documentación de OpenAPI o Swagger. Así como tus colecciones de Postman. Y los archivos HAR para que realmente puedas comenzar a aprovechar tu automatización de QA existente que ya están llevando a cabo. Sube los archivos HAR, ejecuta pruebas muy, muy definidas. Simplicidad. De acuerdo, los simples archivos de configuración YAML y estás listo para empezar. Volviendo a la pregunta de Mark o Brain Vision. Sí, puedes copiar el nuestro y luego puedes modificarlo para ti o ir a nuestra documentación, ver las listas de comandos, buscar archivos de configuración.

Configuraciones, Soporte y Boletín

Short description:

Toda la información está ahí para que puedas comenzar a configurar la herramienta. Hemos incorporado optimizaciones de escaneo que minimizan la necesidad de una configuración extensa. Nuestra herramienta admite completamente microservicios, aplicaciones de una sola página, websockets y APIs. Priorizamos la eliminación de falsos positivos, brindando resultados accionables sin ruido ni fatiga de alerta. Explora las integraciones, documentación y utiliza el sistema para escanear tus proyectos. Para cualquier pregunta o consulta, contáctanos en Discord, correo electrónico o chat. Síguenos en Twitter y lee nuestro blog para obtener información útil y ejemplos de código. No olvides suscribirte al boletín.

Toda la información está ahí para que luego comiences a armar tus propias configuraciones. Realmente se trata de optimizar la automatización allí pero también hemos repasado y discutido cómo hemos incorporado optimizaciones de escaneo dentro de la herramienta. Y espero que todos estén de acuerdo, realmente no hay mucha configuración con la herramienta. Si miras otros escritorios, puede haber cientos de configuraciones diferentes. Por supuesto, puedes ser un poco más detallado con ciertos rechazos, etc. Pero realmente hemos tratado de hacer las cosas lo más fáciles posible.

Los microservicios, aplicaciones de una sola página, websockets y, por supuesto, APIs, están completamente soportados. Hemos hablado de la ausencia de falsos positivos pero realmente eso es uno de los pilares fundamentales de nuestra tecnología. Los eliminamos, sin ruido, sin fatiga de alerta, resultados accionables, integrados sin problemas. Así que haz clic en organización, mira las integraciones que tenemos o ve a nuestra documentación. Más importante aún, utiliza y abusa del sistema para escanear tus proyectos adecuadamente.

Si tienes alguna pregunta o consulta, colócala en el Discord al que ya eres parte ya sea en el canal GraphQL Galaxy o en nuestro canal de soporte técnico bajo el soporte en Discord. Envíanos un correo electrónico a support.neurolegion.com. ¿Y qué más? Chatea con nosotros. Síguenos en Twitter. Lee nuestro blog, por cierto porque hay información realmente útil sobre vulnerabilidades específicas donde también proporcionamos ejemplos de código. Pero si aún no lo has hecho, suscríbete al boletín. No te bombardeamos con spam, pero todo se enfoca en la seguridad de aplicaciones y desarrollo, pero esperamos que te resulte interesante.

Watch more workshops on topic

React Summit 2023React Summit 2023
170 min
React Performance Debugging Masterclass
Top Content
Featured WorkshopFree
Ivan’s first attempts at performance debugging were chaotic. He would see a slow interaction, try a random optimization, see that it didn't help, and keep trying other optimizations until he found the right one (or gave up).
Back then, Ivan didn’t know how to use performance devtools well. He would do a recording in Chrome DevTools or React Profiler, poke around it, try clicking random things, and then close it in frustration a few minutes later. Now, Ivan knows exactly where and what to look for. And in this workshop, Ivan will teach you that too.
Here’s how this is going to work. We’ll take a slow app → debug it (using tools like Chrome DevTools, React Profiler, and why-did-you-render) → pinpoint the bottleneck → and then repeat, several times more. We won’t talk about the solutions (in 90% of the cases, it’s just the ol’ regular useMemo() or memo()). But we’ll talk about everything that comes before – and learn how to analyze any React performance problem, step by step.
(Note: This workshop is best suited for engineers who are already familiar with how useMemo() and memo() work – but want to get better at using the performance tools around React. Also, we’ll be covering interaction performance, not load speed, so you won’t hear a word about Lighthouse 🤐)
React Advanced Conference 2021React Advanced Conference 2021
132 min
Concurrent Rendering Adventures in React 18
Top Content
Featured WorkshopFree
With the release of React 18 we finally get the long awaited concurrent rendering. But how is that going to affect your application? What are the benefits of concurrent rendering in React? What do you need to do to switch to concurrent rendering when you upgrade to React 18? And what if you don’t want or can’t use concurrent rendering yet?

There are some behavior changes you need to be aware of! In this workshop we will cover all of those subjects and more.

Join me with your laptop in this interactive workshop. You will see how easy it is to switch to concurrent rendering in your React application. You will learn all about concurrent rendering, SuspenseList, the startTransition API and more.
React Summit Remote Edition 2021React Summit Remote Edition 2021
177 min
React Hooks Tips Only the Pros Know
Top Content
Featured Workshop
The addition of the hooks API to React was quite a major change. Before hooks most components had to be class based. Now, with hooks, these are often much simpler functional components. Hooks can be really simple to use. Almost deceptively simple. Because there are still plenty of ways you can mess up with hooks. And it often turns out there are many ways where you can improve your components a better understanding of how each React hook can be used.You will learn all about the pros and cons of the various hooks. You will learn when to use useState() versus useReducer(). We will look at using useContext() efficiently. You will see when to use useLayoutEffect() and when useEffect() is better.
React Advanced Conference 2021React Advanced Conference 2021
174 min
React, TypeScript, and TDD
Top Content
Featured WorkshopFree
ReactJS is wildly popular and thus wildly supported. TypeScript is increasingly popular, and thus increasingly supported.

The two together? Not as much. Given that they both change quickly, it's hard to find accurate learning materials.

React+TypeScript, with JetBrains IDEs? That three-part combination is the topic of this series. We'll show a little about a lot. Meaning, the key steps to getting productive, in the IDE, for React projects using TypeScript. Along the way we'll show test-driven development and emphasize tips-and-tricks in the IDE.
React Advanced Conference 2021React Advanced Conference 2021
145 min
Web3 Workshop - Building Your First Dapp
Top Content
Featured WorkshopFree
In this workshop, you'll learn how to build your first full stack dapp on the Ethereum blockchain, reading and writing data to the network, and connecting a front end application to the contract you've deployed. By the end of the workshop, you'll understand how to set up a full stack development environment, run a local node, and interact with any smart contract using React, HardHat, and Ethers.js.
React Summit 2023React Summit 2023
151 min
Designing Effective Tests With React Testing Library
Top Content
Featured Workshop
React Testing Library is a great framework for React component tests because there are a lot of questions it answers for you, so you don’t need to worry about those questions. But that doesn’t mean testing is easy. There are still a lot of questions you have to figure out for yourself: How many component tests should you write vs end-to-end tests or lower-level unit tests? How can you test a certain line of code that is tricky to test? And what in the world are you supposed to do about that persistent act() warning?
In this three-hour workshop we’ll introduce React Testing Library along with a mental model for how to think about designing your component tests. This mental model will help you see how to test each bit of logic, whether or not to mock dependencies, and will help improve the design of your components. You’ll walk away with the tools, techniques, and principles you need to implement low-cost, high-value component tests.
Table of contents- The different kinds of React application tests, and where component tests fit in- A mental model for thinking about the inputs and outputs of the components you test- Options for selecting DOM elements to verify and interact with them- The value of mocks and why they shouldn’t be avoided- The challenges with asynchrony in RTL tests and how to handle them
Prerequisites- Familiarity with building applications with React- Basic experience writing automated tests with Jest or another unit testing framework- You do not need any experience with React Testing Library- Machine setup: Node LTS, Yarn

Check out more articles and videos

We constantly think of articles and videos that might spark Git people interest / skill us up or help building a stellar career

React Advanced Conference 2022React Advanced Conference 2022
25 min
A Guide to React Rendering Behavior
Top Content
React is a library for "rendering" UI from components, but many users find themselves confused about how React rendering actually works. What do terms like "rendering", "reconciliation", "Fibers", and "committing" actually mean? When do renders happen? How does Context affect rendering, and how do libraries like Redux cause updates? In this talk, we'll clear up the confusion and provide a solid foundation for understanding when, why, and how React renders. We'll look at: - What "rendering" actually is - How React queues renders and the standard rendering behavior - How keys and component types are used in rendering - Techniques for optimizing render performance - How context usage affects rendering behavior| - How external libraries tie into React rendering
React Summit Remote Edition 2021React Summit Remote Edition 2021
33 min
Building Better Websites with Remix
Top Content
Remix is a new web framework from the creators of React Router that helps you build better, faster websites through a solid understanding of web fundamentals. Remix takes care of the heavy lifting like server rendering, code splitting, prefetching, and navigation and leaves you with the fun part: building something awesome!
React Advanced Conference 2023React Advanced Conference 2023
33 min
React Compiler - Understanding Idiomatic React (React Forget)
Top Content
React provides a contract to developers- uphold certain rules, and React can efficiently and correctly update the UI. In this talk we'll explore these rules in depth, understanding the reasoning behind them and how they unlock new directions such as automatic memoization. 
React Advanced Conference 2022React Advanced Conference 2022
30 min
Using useEffect Effectively
Top Content
Can useEffect affect your codebase negatively? From fetching data to fighting with imperative APIs, side effects are one of the biggest sources of frustration in web app development. And let’s be honest, putting everything in useEffect hooks doesn’t help much. In this talk, we'll demystify the useEffect hook and get a better understanding of when (and when not) to use it, as well as discover how declarative effects can make effect management more maintainable in even the most complex React apps.
React Summit 2022React Summit 2022
20 min
Routing in React 18 and Beyond
Top Content
Concurrent React and Server Components are changing the way we think about routing, rendering, and fetching in web applications. Next.js recently shared part of its vision to help developers adopt these new React features and take advantage of the benefits they unlock.In this talk, we’ll explore the past, present and future of routing in front-end applications and discuss how new features in React and Next.js can help us architect more performant and feature-rich applications.
React Advanced Conference 2021React Advanced Conference 2021
27 min
(Easier) Interactive Data Visualization in React
Top Content
If you’re building a dashboard, analytics platform, or any web app where you need to give your users insight into their data, you need beautiful, custom, interactive data visualizations in your React app. But building visualizations hand with a low-level library like D3 can be a huge headache, involving lots of wheel-reinventing. In this talk, we’ll see how data viz development can get so much easier thanks to tools like Plot, a high-level dataviz library for quick & easy charting, and Observable, a reactive dataviz prototyping environment, both from the creator of D3. Through live coding examples we’ll explore how React refs let us delegate DOM manipulation for our data visualizations, and how Observable’s embedding functionality lets us easily repurpose community-built visualizations for our own data & use cases. By the end of this talk we’ll know how to get a beautiful, customized, interactive data visualization into our apps with a fraction of the time & effort!