Facebook presentó Pysa, un analizador estático para el lenguaje Python

Facebook presentado analizador estático abierto Pysa (Python Static Analyser), diseñado para identificar posibles vulnerabilidades en el código Python. El nuevo analizador está diseñado como complemento del kit de herramientas de verificación de tipos. Pira y publicado en su repositorio. Código publicado bajo la licencia del MIT.

Pysa proporciona análisis de flujos de datos como resultado de la ejecución de código, lo que le permite identificar muchas vulnerabilidades potenciales y problemas de privacidad asociados con el uso de datos en lugares donde no deberían aparecer.
Por ejemplo, Pysa puede rastrear el uso de datos externos sin procesar en llamadas que inician programas externos, en operaciones de archivos y en construcciones SQL.

El trabajo del analizador se reduce a identificar fuentes de datos y llamadas peligrosas en las que no se deben utilizar los datos originales. Los datos de solicitudes web (por ejemplo, el diccionario HttpRequest.GET en Django) se consideran una fuente, y llamadas como eval y os.open se consideran usos peligrosos. Pysa rastrea el flujo de datos a través de la cadena de llamadas a funciones y asocia los datos fuente con lugares potencialmente peligrosos en el código. Una vulnerabilidad típica identificada al usar Pysa es un problema de redireccionamiento abierto (CVE-2019-19775) en la plataforma de mensajería Zulip, causado por pasar parámetros externos no limpios al renderizar miniaturas.

Las capacidades de seguimiento del flujo de datos de Pysa pueden aplicar verificar el uso correcto de marcos adicionales y determinar el cumplimiento de la política de uso de datos del usuario. Por ejemplo, Pysa sin configuraciones adicionales se puede usar para verificar proyectos usando los marcos Django y Tornado. Pysa también puede detectar vulnerabilidades comunes en aplicaciones web, como inyección SQL y secuencias de comandos entre sitios (XSS).

En Facebook, el analizador se utiliza para comprobar el código del servicio Instagram. En el primer trimestre de 2020, Pysa ayudó a identificar el 44% de todos los problemas que los ingenieros de Facebook encontraron en el código base del lado del servidor de Instagram.
En total, el proceso automatizado de revisión de cambios de Pysa identificó 330 problemas, de los cuales 49 (15%) fueron calificados como importantes y 131 (40%) como no graves. En 150 casos (45%) los problemas se clasificaron como falsos positivos.

Fuente: opennet.ru

Añadir un comentario