Usando o SpotBugs Maven Plugin

Este capítulo descreve como integrar o SpotBugs em projetos Maven.

Adição do spotbugs-maven-plugin

Adicione o <plugin> no arquivo pom.xml como no código abaixo:

<plugin>
  <groupId>com.github.spotbugs</groupId>
  <artifactId>spotbugs-maven-plugin</artifactId>
  <version>4.8.4.0</version>
  <dependencies>
    <!-- overwrite dependency on spotbugs if you want to specify the version of spotbugs -->
    <dependency>
      <groupId>com.github.spotbugs</groupId>
      <artifactId>spotbugs</artifactId>
      <version>4.8.4</version>
    </dependency>
  </dependencies>
</plugin>

Integração do Find Security Bugs no spotbugs-maven-plugin

Voê está procurando por detectores de segurança adicionais para o SpotBugs? Sugerimos que você veja o Find Security Bugs um plugin para o SpotBugs para auditoria de segurança de aplicações Java webAndroid. O plugin pode detectar 138 tipos de vulnerabilidades diferentes, incluindo SQL/HQL Injection, Command Injection, XPath Injection, e Cryptography weaknesses.

Para integrar o Find Security Bugs no SpotBugs, você pode configurar o arquivo pom.xml como mostrado a seguir:

[...]
<build>
    <plugins>
        [...]
        <plugin>
            <groupId>com.github.spotbugs</groupId>
            <artifactId>spotbugs-maven-plugin</artifactId>
            <version>4.8.4.0</version>
            <configuration>
                <includeFilterFile>spotbugs-security-include.xml</includeFilterFile>
                <excludeFilterFile>spotbugs-security-exclude.xml</excludeFilterFile>
                <plugins>
                    <plugin>
                        <groupId>com.h3xstream.findsecbugs</groupId>
                        <artifactId>findsecbugs-plugin</artifactId>
                        <version>1.12.0</version>
                    </plugin>
                </plugins>
            </configuration>
        </plugin>
    </plugins>
</build>

A opção <plugins> define uma coleção de artefatos para utilizar o plugin. Por favor, especifique “Find Security Bugs” por meio da adição de seu groupId, artifactId, e version.

As opções <includeFilterFile> e <excludeFilterFile> especificam os arquivos de filtro para a inclusão e exclusão de reporte de bugs, respectivamente (veja Arquivos de filtro para mais detalhes). Opcionalmente, você pode limitar a busca apenas a categoria de segurança por meio da adição de arquivos como:

spotbugs-security-include.xml

<FindBugsFilter>
    <Match>
        <Bug category="SECURITY"/>
    </Match>
</FindBugsFilter>

spotbugs-security-exclude.xml

<FindBugsFilter>
</FindBugsFilter>

Objetivos do spotbugs-maven-plugin

Meta: spotbugs

A meta spotbugs analisa o projeto selecionado com o SpotBugs. Para detalhes, consulte spotbugs goal no site.

Meta: check

A meta check executa a análise com a meta spotbugs, e faz a compilação falhar se não forem encontrados bugs. Para detalhes, consulte check goal no site.

Meta: gui

A meta gui inicia a interface SpotBugs GUI para verificar o resultado da análise. Para detalhes consulte gui goal description no site.

Meta: help

a meta help apresenta os modos de uso deste Maven plugin.