SpotBugs es un programa para detectar errores en código Java usando análisis estático. Es un programad open-source con licencia LGPL. Y puede analizar versiones de Java desde la 1.0 a la 1.9.
Spotbugs chequea más de 400 tipos de bugs: https://spotbugs.readthedocs.io/en/latest/bugDescriptions.html
Spotbugs puede usarle en modo standalone o bien integrado con nuestro IDE a través del plugin de Eclipse o bien integrado con Maven o Gradle o con SonarQube.
Spotbugs puede extenderse vía plugins, y el que nos interesa en este caso es find-sec-bugs que permite hacer auditorías de seguridad de aplicaciones Java y es capaz de detectar hasta 135 tipos de vulnerabilidades incluyendo OWASP Top 10.
AL funcionar como un plugin de Spotbugs tiene integraciones con Eclipse, Maven, SonarQube:
Para instalarlo en Eclipse:
- Desde Eclipse Marketplace instalaré SpotBugs Plugin:
- Una vez instalado configuraré el plugin find-sec-bugs, para esto primero descargaré el JAR del plugin. Por ejemplo puedo descargarlo desde aquí: https://search.maven.org/search?q=g:com.h3xstream.findsecbugs
- Iré a la configuración de SpotBugs en Eclipse en Windows>Preferences>Java>Spotbugs. Dentro seleccionaré el plugin descargado en el paso anterior:
- Dentro de la configuración de SpotBugs configuraré el tipo de Bugs que quiero que detecte SpotBugs, como quiero hacer una auditoría de seguridad.
Y ya puedo lanzar SpotBugs seleccionando el proyecto y la opción Find Bugs:
En la pestaña Bug Explorer me aparecen los bugs categorizados por gravedad:
Y pinchando en cada uno me remarcará el problema: