Custom-bytecode-analyzer: análisis de JARs mediante reglas personalizadas

Custom-bytecode-analyzer es una herramienta de línea de comandos que recibe un directorio y un archivo JSON como parámetros. Analiza los archivos JAR dentro del directorio (usando el framework ASM) y genera un report dependiendo de las reglas definidas. Un ejemplo del tipo de reglas que acepta sería:
{
    "rules": [{
        "name": "Method invocation by reflection",
        "invocations": [{
            "owner": "java.lang.reflect.Method",
            "method": {
                "name": "invoke"
            }
        }]
    }]
}

El report generado mostraría todas las llamadas de java.lang.reflect.Method. invoke(...) que haya en el directorio a analizar. 

La herramienta puede usarse para encontrar vulnerabilidades en proyectos Java sin importar si se dispone del código fuente (es básicamente para lo que la hice, pero al final decidí subirla a GitHub). Aun sigo desarrollándola para que soporte más reglas.

Espero que os parezca interesante, me encantaría saber vuestra opinión.

Tenéis más detalle en el 'readme' y el código en Github: https://github.com/fergarrui/custom-bytecode-analyzer

Contribución gracias a Fernando García

pd. ¿también has hecho tu propia herramienta y quieres compartirla? Ponemos a tu disposición nuestro repositorio Github y/o también podemos probarla y publicar una entrada. ¡Participa!

Comentarios