Esta es una respuesta en dos partes:
- Debes superar cualquier ofuscación o llegar a algún tipo de estado descompilado. Consulte esta pregunta en StackExchangeRE para obtener más detalles sobre la ofuscación de Python.
- Una vez que tenga el código (o si tiene la fuente en primer lugar), querrá utilizar una combinación de revisión de código seguro, análisis de tiempo de ejecución y análisis estático centrado en la seguridad para descubrir posibles hallazgos para la clasificación.
Si está buscando herramientas de análisis estático centradas en la seguridad, lamentablemente muchos de los comerciales todavía no están disponibles para el lenguaje Python. Pylint y Flake8 también son principalmente comprobadores de estilo o corrección con cero controles de seguridad. Mi recomendación principal para Python SAST es el proyecto Bandit del equipo de seguridad de OpenStack. Solo hay unos pocos comprobaciones básicas pero puede agregar más. Bandit es solo una mejora leve (pero importante) sobre las técnicas de herramientas antiguas, como se ve en graudit y RATS .
Si está interesado en el análisis de tiempo de ejecución, la mayoría de los probadores de seguridad aprovechan Burp Suite Professional para el tráfico HTTP / TLS y Canape como un proxy de registro local conectable para otros protocolos. Para comprender los controladores de archivos o los protocolos de red que utilizan rutinas de cifrado o compresión durante el análisis de tiempo de ejecución, muchos probadores de seguridad recurren al rastreo de software (porque es más rápido que a la depuración) o técnicas de conexión, como las que se encuentran en Frida framework. Un conjunto popular de fallas que apuntan a la serialización (el decapado en Python) se está haciendo más conocido, por lo que puede valer la pena ver el OWASP Python Página o lista de proyectos de seguridad para obtener más información.
Para obtener una descripción más detallada de Dropbox en particular, consulte esta otra respuesta en StackExchangeRE, además de este Análisis de seguridad del código de Dropbox .