Estás a 5 minutos de calidad de código y seguridad de código

Rate this content
Bookmark

En esta sesión utilizaré una demostración en vivo para mostrar lo fácil que es agregar calidad de código y seguridad de código a tu proyecto con SonarCloud, no solo por ahora, sino para cada confirmación en el futuro.

FAQ

Para configurar un nuevo proyecto, debes ir a la opción PLUS para analizar un nuevo proyecto, elegir tu organización en GitHub y seleccionar los repositorios que deseas analizar.

Sí, Sonar Cloud ofrece un plan gratuito para proyectos de código abierto.

Sonar Cloud es un producto SAS-SAS de SonarSource que se utiliza para agregar calidad de código y seguridad de código a tu repositorio.

Para iniciar sesión en Sonar Cloud, simplemente debes elegir tu ALM (Application Lifecycle Management) y la cuenta se crea automáticamente.

No, no es necesario tener configuración de CI/CD para usar Sonar Cloud, ya que el sistema puede manejar el análisis automático por sí solo.

En Sonar Cloud, puedes ver y analizar los problemas de seguridad de tu código accediendo a la sección de 'Problemas', donde se listan las vulnerabilidades y puedes profundizar en cada una para ver el contexto del código y las soluciones sugeridas.

Sí, Sonar Cloud soporta análisis de múltiples lenguajes de programación, lo que permite evaluar no solo JavaScript, sino también otros lenguajes utilizados en el proyecto.

G. Ann Campbell
G. Ann Campbell
7 min
01 Jul, 2021

Comments

Sign in or register to post your comment.

Video Summary and Transcription

Sonar Cloud facilita la configuración de proyectos para el análisis de calidad de código y seguridad. Analiza automáticamente el código y proporciona información sobre errores, vulnerabilidades y otros problemas. La interfaz de usuario ayuda a comprender el flujo de vulnerabilidad en las funciones y archivos. Sonar Cloud admite varios lenguajes y ofrece descripciones de reglas y ejemplos de código para las mejores prácticas. En general, simplifica el análisis de código y ayuda a los desarrolladores a mejorar la calidad del código.

1. Introducción a Sonar Cloud

Short description:

Hola, soy Ann Campbell de SonarSource. Hoy quiero mostrarte lo fácil que es configurar tus proyectos con calidad de código y seguridad de código. Comenzaré iniciando sesión con mi cuenta de GitHub y seleccionando los repositorios que quiero analizar. Luego, crearé mi organización y elegiré los repositorios a analizar. ¡Es así de simple!

Hola, soy Ann Campbell de SonarSource. Hoy no tengo ninguna diapositiva para ustedes. Voy a intentar algo que es un poco arriesgado dadas las limitaciones de tiempo, pero esto debería funcionar bien. Así que lo que están viendo ahora es la página principal de Sonar Cloud, que es un producto SAS, un producto SAS-SAS, para agregar calidad de código y seguridad de código a tu repositorio. Y hoy quiero mostrarte lo fácil que es hacer eso.

Así que voy a comenzar iniciando sesión. Ahora ya tengo una cuenta, por lo que verán eso reflejado en mi experiencia. Pero como nuevo usuario, todo lo que tendrías que hacer es elegir tu ALM para iniciar sesión y se crea tu cuenta automáticamente. Así que voy a comenzar con GitHub, porque tengo una cuenta allí. Y me inicia sesión y me muestra los proyectos a los que tengo acceso. Pero eso no es lo que quiero mostrarte hoy. Lo que quiero mostrarte hoy es lo fácil que es configurar tus proyectos con calidad de código y seguridad de código.

Así que voy a ir a la opción PLUS para analizar un nuevo proyecto. Ahora me pregunta si quiero analizar un proyecto de una de las organizaciones existentes a las que ya tengo acceso. Pero nuevamente, eso no es lo que quiero mostrarte hoy. Voy a mostrarte cómo crear una organización desde mi ALM. Así que voy a elegir GitHub. Y cuando llego aquí, me pregunta qué organización quiero en GitHub. Voy a elegir la privada. Y ahora GitHub me está pidiendo que otorgue permisos. Ahora, no quiero darle permisos a Sonar Cloud, solo estoy probando esto, ¿verdad? Así que no quiero darle permiso a Sonar Cloud para todos mis repositorios. Voy a seleccionar los repositorios que he elegido, que he bifurcado recientemente para esta demostración. Así que escribo los nombres de mis repositorios y hay un par que quiero mostrarte. Y una vez que los he seleccionado, puedo guardar eso. Eso me lleva de vuelta a Sonar Cloud, donde tengo un par de pasos más que completar. Tengo que darle un nombre y establecer una clave para mi organización. Voy a ir con el valor predeterminado. Quiero el plan gratuito, Sonar Cloud es gratuito para proyectos de código abierto. Así que voy a crear mi organización de esa manera. Ahora Sonar Cloud me está preguntando, de los repositorios a los que tiene acceso, ¿cuáles quiero analizar? Quiero analizar ambos. Ahora hago clic en Configurar.

2. Análisis de Código y Exploración de Problemas

Short description:

Sonar Cloud analiza automáticamente mi código, eliminando la necesidad de configuración de CI/CD. Analiza la última versión de la rama principal y ejecuta el análisis para cada confirmación y nueva solicitud de extracción en mi rama principal. Los resultados se reflejan en mi solicitud de extracción en GitHub. No tengo errores, algunas vulnerabilidades y otros problemas. Vamos a profundizar en los problemas y ver los problemas bloqueantes y las reglas. Una de las reglas es que las consultas a la base de datos no deben ser vulnerables a ataques de inyección. Esta aplicación demuestra vulnerabilidades y la interfaz de usuario facilita la comprensión del flujo de vulnerabilidad en funciones y archivos. Ahora, cambiemos a otro proyecto y exploremos algo en la página de Problemas bajo la lista de lenguajes.

Y lo que está sucediendo ahora es que Sonar Cloud está revisando mi código. Y está echando un vistazo para ver si puede analizarlo automáticamente por mí. Así que no tengo que hacer ninguna configuración de CI/CD aquí. Simplemente se encargará de eso por mí.

Entonces, analiza mi código y dice que sí, puedo ejecutar un análisis automático en esto. Y está analizando la última versión de la rama principal. A partir de este momento, por cada confirmación en mi rama principal y por cada nueva solicitud de extracción, se ejecutará ese análisis por mí y se reflejarán los resultados en mi solicitud de extracción en GitHub, con una marca en mi solicitud de extracción.

Así que ahora mi pequeña aplicación ya ha terminado de analizar. Vamos a ver qué tengo. Aquí está mi resumen. Cero errores, tengo algunas vulnerabilidades. Tengo algunos otros problemas, pero lo que realmente quiero mostrarte aquí son los problemas. Aquí tengo mi lista de problemas. Sin embargo, no es muy útil ver solo una lista de problemas sin contexto. Así que voy a profundizar aquí. Veamos los problemas bloqueantes y las reglas. Tengo la regla de que las consultas a la base de datos no deben ser vulnerables a ataques de inyección. Veamos cuáles son esas. Voy a hacer clic en esto para ver el problema en el contexto del código.

Ahora, esta aplicación fue creada para demostrar vulnerabilidades. Así que lo que estamos viendo aquí es un flujo de vulnerabilidad realmente compacto. Pero la realidad es que en proyectos normales, el flujo de vulnerabilidad abarcará no solo funciones, sino probablemente también páginas y diferentes archivos en el proyecto. Hemos diseñado la interfaz de usuario, aunque no la estés viendo aquí, para que sea fácil de entender ese flujo a través de funciones y archivos. Eso es lo que quería mostrarte en este proyecto.

Ahora, voy a volver a mi lista de proyectos. Y mi otro proyecto ya ha terminado de analizar en este momento. Así que quiero entrar en ese. Una vez más, aquí tengo mi resumen en la parte superior. Y quiero mostrarte algo en la página de Problemas. Y eso está aquí, debajo de la lista de lenguajes.

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

Elevando Monorepos con los Espacios de Trabajo de npm
DevOps.js Conf 2022DevOps.js Conf 2022
33 min
Elevando Monorepos con los Espacios de Trabajo de npm
Top Content
Aprenda más sobre cómo aprovechar las características predeterminadas de los espacios de trabajo de npm para ayudarlo a administrar su proyecto monorepo, mientras también explora algunas de las nuevas características de npm cli.
Es una jungla ahí fuera: ¿Qué está pasando realmente dentro de tu carpeta Node_Modules?
Node Congress 2022Node Congress 2022
26 min
Es una jungla ahí fuera: ¿Qué está pasando realmente dentro de tu carpeta Node_Modules?
Top Content
¿Sabes qué está pasando realmente en tu carpeta node_modules? Los ataques a la cadena de suministro de software han explotado en los últimos 12 meses y solo están acelerándose en 2022 y más allá. Profundizaremos en ejemplos de recientes ataques a la cadena de suministro y qué pasos concretos puedes tomar para proteger a tu equipo de esta amenaza emergente.
Puedes consultar las diapositivas de la charla de Feross aquí.
Automatizando Todo el Código y las Pruebas con GitHub Actions
React Advanced Conference 2021React Advanced Conference 2021
19 min
Automatizando Todo el Código y las Pruebas con GitHub Actions
Top Content
Las tareas de código como linting y pruebas son partes críticas del flujo de trabajo de un desarrollador que nos ayudan a mantenernos cuerdos, como prevenir problemas de sintaxis o estilo y fortalecer nuestra lógica de negocio central. Hablaremos de cómo podemos usar GitHub Actions para automatizar estas tareas y ayudar a mantener nuestros proyectos funcionando sin problemas.
Ajustando DevOps para las Personas sobre la Perfección
DevOps.js Conf 2022DevOps.js Conf 2022
33 min
Ajustando DevOps para las Personas sobre la Perfección
Top Content
La demanda de DevOps ha aumentado en los últimos años a medida que más organizaciones adoptan tecnologías nativas de la nube. La complejidad también ha aumentado y una mentalidad de "cero a héroe" deja a muchas personas persiguiendo la perfección y FOMO. Esta sesión se centra en cambio en por qué tal vez no deberíamos adoptar una práctica tecnológica y cómo a veces los equipos pueden lograr los mismos resultados priorizando a las personas sobre la automatización y controles de operaciones. Veamos las cantidades y el ajuste fino de todo como código, solicitudes de extracción, DevSecOps, Monitoreo y más para priorizar el bienestar del desarrollador sobre la perfección de la optimización. Puede ser una decisión válida desplegar menos y dormir mejor. Y finalmente examinaremos cómo la práctica manual y la disciplina pueden ser la clave para productos y experiencias superiores.
¿Por qué es tan lento el CI?
DevOps.js Conf 2022DevOps.js Conf 2022
27 min
¿Por qué es tan lento el CI?
Todos nos hemos preguntado esto mientras esperamos una eternidad a que termine nuestro trabajo de CI. Un CI lento no solo arruina la productividad del desarrollador, rompiendo nuestra concentración, sino que también cuesta dinero en tarifas de computación en la nube y desperdicia enormes cantidades de electricidad. Vamos a adentrarnos en por qué ocurre esto y cómo podemos solucionarlo con herramientas mejores y más rápidas.
El estado de la autenticación sin contraseña en la web
JSNation 2023JSNation 2023
30 min
El estado de la autenticación sin contraseña en la web
¿Podemos deshacernos de las contraseñas ya? Son una mala experiencia de usuario y los usuarios son notoriamente malos con ellas. El advenimiento de WebAuthn ha acercado al mundo sin contraseñas, pero ¿dónde nos encontramos realmente?
En esta charla exploraremos la experiencia actual del usuario de WebAuthn y los requisitos que un usuario debe cumplir para autenticarse sin contraseña. También exploraremos las alternativas y salvaguardias que podemos utilizar para mejorar la experiencia de las contraseñas y hacerla más segura. Al final de la sesión, tendrás una visión de cómo podría ser la autenticación en el futuro y un plan para construir la mejor experiencia de autenticación hoy en día.

Workshops on related topic

De 0 a Autenticación en una hora con ReactJS
React Summit 2023React Summit 2023
56 min
De 0 a Autenticación en una hora con ReactJS
WorkshopFree
Kevin Gao
Kevin Gao
La autenticación sin contraseña puede parecer compleja, pero es simple de agregar a cualquier aplicación utilizando la herramienta adecuada. Hay múltiples alternativas que son mucho mejores que las contraseñas para identificar y autenticar a tus usuarios, incluyendo SSO, SAML, OAuth, Magic Links, One-Time Passwords y Authenticator Apps.
Mientras abordamos los aspectos de seguridad y evitamos errores comunes, mejoraremos una aplicación JS de pila completa (backend Node.js + frontend React) para autenticar a los usuarios con OAuth (inicio de sesión social) y One Time Passwords (correo electrónico), incluyendo:- Autenticación de usuarios - Gestión de interacciones de usuarios, devolviendo JWTs de sesión / actualización- Gestión y validación de sesiones - Almacenamiento seguro de la sesión para solicitudes de cliente posteriores, validación / actualización de sesiones- Autorización básica - extracción y validación de reclamaciones del token JWT de sesión y manejo de autorización en flujos del backend
Al final del masterclass, también exploraremos otros enfoques de implementación de autenticación con Descope, utilizando SDKs de frontend o backend.
Despliegue de aplicaciones React Native en la nube
React Summit 2023React Summit 2023
88 min
Despliegue de aplicaciones React Native en la nube
WorkshopFree
Cecelia Martinez
Cecelia Martinez
Desplegar aplicaciones React Native manualmente en una máquina local puede ser complejo. Las diferencias entre Android e iOS requieren que los desarrolladores utilicen herramientas y procesos específicos para cada plataforma, incluidos los requisitos de hardware para iOS. Los despliegues manuales también dificultan la gestión de las credenciales de firma, las configuraciones de entorno, el seguimiento de las versiones y la colaboración en equipo.
Appflow es la plataforma de DevOps móvil en la nube creada por Ionic. Utilizar un servicio como Appflow para construir aplicaciones React Native no solo proporciona acceso a potentes recursos informáticos, sino que también simplifica el proceso de despliegue al proporcionar un entorno centralizado para gestionar y distribuir tu aplicación en múltiples plataformas. Esto puede ahorrar tiempo y recursos, permitir la colaboración, así como mejorar la confiabilidad y escalabilidad general de una aplicación.
En este masterclass, desplegarás una aplicación React Native para su entrega en dispositivos de prueba Android e iOS utilizando Appflow. También aprenderás los pasos para publicar en Google Play y Apple App Stores. No se requiere experiencia previa en el despliegue de aplicaciones nativas, y obtendrás una comprensión más profunda del proceso de despliegue móvil y las mejores prácticas para utilizar una plataforma de DevOps móvil en la nube para enviar rápidamente a gran escala.
Despliegue de Aplicación MERN Stack en Kubernetes
DevOps.js Conf 2022DevOps.js Conf 2022
152 min
Despliegue de Aplicación MERN Stack en Kubernetes
Workshop
Joel Lord
Joel Lord
Desplegar y gestionar aplicaciones JavaScript en Kubernetes puede volverse complicado. Especialmente cuando una base de datos también debe formar parte del despliegue. MongoDB Atlas ha facilitado mucho la vida de los desarrolladores, sin embargo, ¿cómo se integra un producto SaaS con su clúster de Kubernetes existente? Aquí es donde entra en juego el Operador de MongoDB Atlas. En este masterclass, los asistentes aprenderán cómo crear una aplicación MERN (MongoDB, Express, React, Node.js) localmente y cómo desplegar todo en un clúster de Kubernetes con el Operador de Atlas.
Azure Static Web Apps (SWA) con Azure DevOps
DevOps.js Conf 2022DevOps.js Conf 2022
13 min
Azure Static Web Apps (SWA) con Azure DevOps
WorkshopFree
Juarez Barbosa Junior
Juarez Barbosa Junior
Las Azure Static Web Apps se lanzaron a principios de 2021 y, de forma predeterminada, pueden integrar su repositorio existente y implementar su aplicación web estática desde Azure DevOps. Este masterclass demuestra cómo publicar una Azure Static Web App con Azure DevOps.
Cómo desarrollar, construir e implementar microservicios Node.js con Pulumi y Azure DevOps
DevOps.js Conf 2022DevOps.js Conf 2022
163 min
Cómo desarrollar, construir e implementar microservicios Node.js con Pulumi y Azure DevOps
Workshop
Alex Korzhikov
Andrew Reddikh
2 authors
El masterclass ofrece una perspectiva práctica de los principios clave necesarios para desarrollar, construir y mantener un conjunto de microservicios en el stack Node.js. Cubre los detalles específicos de la creación de servicios TypeScript aislados utilizando el enfoque de monorepo con lerna y yarn workspaces. El masterclass incluye una descripción general y un ejercicio en vivo para crear un entorno en la nube con el framework Pulumi y los servicios de Azure. Las sesiones están dirigidas a los mejores desarrolladores que deseen aprender y practicar técnicas de construcción e implementación utilizando el stack Azure y Pulumi para Node.js.