Security Code Scan

Este va a ser el primer post de este blog y espero que sea el primero de muchos :)

En este post vamos a tratar el NuGet llamado Security Code Scan.

Este NuGet es un detector de vulnerabilidades para C# y VB.NET. Durante el desarrollo este nos proporcionará aletas e información acerca de las vulnerabilidades encontradas en nuestro proyecto o solución.

Las vulnerabilidades que detectará este NuGet, será sobre todo las que podemos encontrar el Top Ten de OWASP como por ejemplo SQL Injection, XSS, XEE, etc. Por lo que lo convierte en un NuGet ideal si programas con .NET o .NET Core.

Está disponible para Visual Studio (a partir de la versión de 2015).

Por defecto el NuGet actuará solo en el proceso de compilación del proyecto o la solución debido al rendimiento, pero si deseamos que el análisis se realice también en tiempo real a la par que estamos escribiendo código deberemos de activar el modo full solution analysis.

Podemos encontrarlo en las opciones de las herramientas (Tools > Options)

               

Una vez lo tengamos activado podemos ver que, en la vista de errores, nos aparecen las siguientes opciones:

Lo que nos indica que podemos activarlo solo para la compilación, solo para el análisis en código o para ambas a la vez. 

Vamos a probar a escribir un poco de código inseguro para ver cómo actúa el NuGet. El ejemplo lo realizaremos con una aplicación de consola en .NET Core.

 

Como podemos observar el código muestra una línea por pantalla y después intenta iniciar un proceso el cual se lanzará con argumentos, a su vez dichos argumentos proceden de los introducidos por el usuario a la hora de iniciar el programa.

Vemos como hay una línea resaltada en verde, lo cual es una alerta del NuGet Security Code Scan, si colocamos el ratón en la línea podremos ver de que tipo de alerta se trata.

 

Como podemos observar se trata de una posible inyección mediante argumentos. A su vez si compilamos el código podremos ver en el explorador de soluciones las alertas y posibles errores encontrados.

Además de todo esto, el NuGet nos proporciona la oportunidad de utilizarlo en el proceso de integración continua con MSBuild.

Por todo lo que hemos visto, este NuGet es ideal tanto si estas comenzando a programar, como si ya llevas tiempo programando, ya que muchas veces con las prisas puede que se realice un mal código, además también es ideal si vas a programar Web, ya que podremos tener controladas las vulnerabilidades más comunes.

 Aquí podéis encontrar la web de Security Code Scan





Comentarios

Entradas populares de este blog

Realizando hash con PowerShell

Cracking hashes con Hashcat - 4

Cracking hashes con Hashcat - 2