Acerca de Análisis de código de seguridad de MicrosoftAbout Microsoft Security Code Analysis

Con la extensión Análisis de código de seguridad de Microsoft, los equipos pueden agregar análisis de código de seguridad a sus canalizaciones de integración y entrega continuas (CI/CD) de Azure DevOps.With the Microsoft Security Code Analysis extension, teams can add security code analysis to their Azure DevOps continuous integration and delivery (CI/CD) pipelines. Este análisis lo recomiendan los expertos del Ciclo de vida de desarrollo de seguridad de Microsoft (SDL).This analysis is recommended by the Secure Development Lifecycle (SDL) experts at Microsoft.

Una experiencia de usuario coherente simplifica la seguridad al ocultar la complejidad de ejecutar herramientas.A consistent UX simplifies security by hiding the complexity of running tools. Con una entrega de las herramientas basada en NuGet, los equipos ya no tienen que administrar la instalación ni actualización de las herramientas.With NuGet-based delivery of the tools, teams no longer need to manage the installation or update of tooling. Con las interfaces de línea de comandos y básicas para las tareas de compilación, todos los usuarios todos los usuarios pueden tener tanto control sobre las herramientas como deseen.With both command-line and basic interfaces for build tasks, all users can have as much control over the tools as they want.

Los equipos también pueden utilizar eficaces funcionalidades de posprocesamiento, como:Teams can also use powerful postprocessing capabilities such as:

  • Publicación de registros para la retenciónPublishing logs for retention.
  • Generación de informes accionables y centrados en el desarrolladorGenerating actionable, developer-focused reports.
  • Configuración de interrupciones de compilación en pruebas de regresiónConfiguring build breaks on regression tests.

¿Por qué debo usar Análisis de código de seguridad de Microsoft?Why should I use Microsoft Security Code Analysis?

Seguridad simplificadaSecurity simplified

Agregar herramientas de Análisis de código de seguridad de Microsoft a la canalización de Azure DevOps es tan sencillo como agregar nuevas tareas.Adding Microsoft Security Code Analysis tools to your Azure DevOps pipeline is as simple as adding new tasks. Personalice las tareas o utilice su comportamiento predeterminado.Customize the tasks or use their default behavior. Las tareas se ejecutan como parte de la canalización de Azure DevOps y generan registros que detallan muchos tipos de resultados.Tasks run as part of your Azure DevOps pipeline and produce logs that detail many kinds of results.

Compilaciones limpiasClean builds

Después de solucionar los problemas iniciales informados por las herramientas, puede configurar la extensión para interrumpir las compilaciones en los nuevos problemas.After addressing the initial issues reported by the tools, you can configure the extension to break builds on new issues. Es fácil configurar la compilación de integración continua en cada solicitud de incorporación de cambios. Setting up continuous integration builds on every pull request is easy.

Establézcalas y olvídeseSet it and forget it

De forma predeterminada, las herramientas y las tareas de compilación se mantienen actualizadas.By default, the build tasks and tools stay up-to-date. Si hay una versión actualizada de una herramienta, no es necesario descargarla e instalarla.If there's an updated version of a tool, you don't need to download and install it. La extensión se encarga de todo.The extension takes care of the updating for you.

En segundo planoUnder the hood

Las tareas de compilación de la extensión ocultan las complejidades de:The extension's build tasks hide the complexities of:

  • Ejecutar las herramientas de análisis estáticos de seguridad.Running security static-analysis tools.
  • Procesar los resultados de los archivos de registro para crear un informe de resumen o interrumpir la compilación.Processing the results from log files to create a summary report or break the build.

Conjunto de herramientas de Análisis de código de seguridad de MicrosoftMicrosoft Security Code Analysis tool set

La extensión Análisis de código de seguridad de Microsoft hace que estén disponibles las versiones más recientes de las herramientas de análisis importantes.The Microsoft Security Code Analysis extension makes the latest versions of important analysis tools readily available to you. La extensión incluye tanto herramientas administradas de Microsoft como de código abierto.The extension includes both Microsoft-managed tools and open-source tools.

Las herramientas se descargan automáticamente en el agente hospedado en la nube una vez que se usa la tarea de compilación correspondiente para configurar y ejecutar la canalización.These tools are automatically downloaded to the cloud-hosted agent after you use the corresponding build task to configure and run the pipeline.

En esta sección se enumera el conjunto de herramientas que están disponibles en la extensión actualmente.This section lists the set of tools that are currently available in the extension. Esté atento a la adición de más herramientas.Watch for the addition of more tools. Además, envíenos sus sugerencias sobre las herramientas que desea agregar.Also, send us your suggestions for tools that you want us to add.

Anti-Malware ScannerAnti-Malware Scanner

La tarea de compilación de Anti-Malware Scanner se incluye ahora en la extensión Análisis de código de seguridad de Microsoft.The Anti-Malware Scanner build task is now included in the Microsoft Security Code Analysis extension. Esta tarea debe ejecutarse en un agente de compilación que ya tenga instalado Windows Defender.This task must be run on a build agent that has Windows Defender already installed. Para más información, consulte el sitio web de Windows Defender.For more information, see the Windows Defender website.

BinSkimBinSkim

BinSkim es un detector portátil ligero ejecutable (PE) que valida la configuración del compilador, la del vinculador y otras características de seguridad pertinentes de archivos binarios.BinSkim is a Portable Executable (PE) lightweight scanner that validates compiler settings, linker settings, and other security-relevant characteristics of binary files. Esta tarea de compilación proporciona un contenedor de línea de comandos alrededor de la aplicación de consola binskim.exe.This build task provides a command-line wrapper around the binskim.exe console application. BinSkim es una herramienta de código abierto.BinSkim is an open-source tool. Para más información, consulte BinSkim en GitHub.For more information, see BinSkim on GitHub.

Credential ScannerCredential Scanner

Las contraseñas y otros secretos almacenados en el código fuente actualmente son un problema importante.Passwords and other secrets stored in source code are a significant problem. Credential Scanner es una herramienta de análisis estático patentada que ayuda a resolver este problema.Credential Scanner is a proprietary static-analysis tool that helps solve this problem. La herramienta detecta credenciales, secretos, certificados y otros contenidos confidenciales en el código fuente y en la salida de la compilación.The tool detects credentials, secrets, certificates, and other sensitive content in your source code and your build output.

Detección de riesgos de seguridad de MicrosoftMicrosoft Security Risk Detection

Detección de riesgos de seguridad de Microsoft (MSRD) es un servicio basado en la nube para pruebas aproximadas.Microsoft Security Risk Detection (MSRD) is a cloud-based service for fuzz testing. Identifica errores de seguridad en el software que se pueden infringir.It identifies exploitable security bugs in software. Este servicio requiere una suscripción y una activación aparte.This service requires a separate subscription and activation. Para más información, consulte el Centro para desarrolladores de MSRD.For more information, see the MSRD Developer Center.

Analizadores basados en RoslynRoslyn Analyzers

Los analizadores basados en Roslyn son herramientas integradas por el compilador de Microsoft para analizar de forma estática el código administrado de C# y Visual Basic.Roslyn Analyzers is Microsoft's compiler-integrated tool for statically analyzing managed C# and Visual Basic code. Para más información, consulte Analizadores basados en Roslyn.For more information, see Roslyn-based analyzers.

TSLintTSLint

TSLint es una herramienta de análisis estático extensible que comprueba el código TypeScript para mejorar la legibilidad, el mantenimiento y los errores de funcionalidad.TSLint is an extensible static-analysis tool that checks TypeScript code for readability, maintainability, and errors in functionality. Es ampliamente compatible con los editores modernos y sistemas de compilación.It's widely supported by modern editors and build systems. Puede personalizarlo con sus propias reglas de Lint, configuraciones y formateadores.You can customize it with your own lint rules, configurations, and formatters. TSLint es una herramienta de código abierto.TSLint is an open-source tool. Para más información, consulte TSLint en GitHub.For more information, see TSLint on GitHub.

Análisis y procesamiento posterior de los resultadosAnalysis and post-processing of results

La extensión Análisis de código de seguridad de Microsoft también tiene tres tareas de posprocesamiento.The Microsoft Security Code Analysis extension also has three postprocessing tasks. Estas tareas le ayudan a analizar los resultados encontrados por las tareas de las herramientas de seguridad.These tasks help you analyze the results found by the security-tool tasks. Cuando se agregan a una canalización, estas tareas normalmente siguen todas las demás tareas de herramientas.When added to a pipeline, these tasks usually follow all other tool tasks.

Publish Security Analysis LogsPublish Security Analysis Logs

La tarea de compilación Publish Security Analysis Logs conserva los archivos de registro de las herramientas de seguridad que se ejecutan durante la compilación.The Publish Security Analysis Logs build task preserves the log files of the security tools that are run during the build. Puede leer estos registros para investigación y seguimiento.You can read these logs for investigation and follow-up.

Puede publicar los archivos de registro en Azure Artifacts como archivo .zip.You can publish the log files to Azure Artifacts as a .zip file. También puede copiarlos en un recurso compartido de archivos accesible desde el agente de compilación privado.You can also copy them to an accessible file share from your private build agent.

Security ReportSecurity Report

La tarea de compilación Security Report analiza los archivos de registro.The Security Report build task parses the log files. Estos archivos se crean mediante las herramientas de seguridad que se ejecutan durante la compilación.These files are created by the security tools that run during the build. La tarea de compilación crea después un único archivo de informe de resumen.The build task then creates a single summary report file. Este archivo muestra todos los problemas que detectan las herramientas de análisis.This file shows all issues found by the analysis tools.

Puede configurar esta tarea para que informe de los resultados de herramientas específicas o de todas las herramientas.You can configure this task to report results for specific tools or for all tools. También puede elegir el nivel de problema que se va a notificar, como solo errores o errores y advertencias.You can also choose what issue level to report, like errors only or both errors and warnings.

Post-Analysis (interrupción de la compilación)Post-Analysis (build break)

Con la tarea de compilación Post Analysis, puede insertar una interrupción de la compilación que provoque un error en la compilación.With the Post-Analysis build task, you can inject a build break that purposely causes a build to fail. Se inserta una interrupción de la compilación si una o varias herramientas de análisis notifican problemas en el código.You inject a build break if one or more analysis tools report issues in the code.

Puede configurar esta tarea para interrumpir la compilación de los problemas encontrados por herramientas específicas o por todas las herramientas.You can configure this task to break the build for issues found by specific tools or all tools. También puede configurarla en función de la gravedad de los problemas encontrados, como errores o advertencias.You can also configure it based on the severity of issues found, such as errors or warnings.

Nota

Cada tarea de compilación se realiza correctamente si la tarea finaliza correctamente.By design, each build task succeeds if the task finishes successfully. Esto es cierto tanto si una herramienta encuentra problemas como si no, de modo que la compilación puede ejecutarse hasta el final al permitir que se ejecuten todas las herramientas.This is true whether or not a tool finds issues, so that the build can run to completion by allowing all tools to run.

Pasos siguientesNext steps

Para más instrucciones sobre cómo incorporar e instalar Análisis de código de seguridad de Microsoft, consulte nuestra guía de incorporación e instalación.For instructions on how to onboard and install Microsoft Security Code Analysis, refer to our Onboarding and installation guide.

Para más información sobre la configuración de las tareas de compilación, consulte nuestra guía de configuración.For more information about configuring the build tasks, see our Configuration guide.

Si tiene más preguntas sobre la extensión y las herramientas que se ofrecen, consulte nuestra página de preguntas más frecuentes.If you have further questions about the extension and the tools offered, check out our FAQ page.