
La tendencia actual en el desarrollo es utilizar muchos paquetes en la fase de desarrollo, incluso si solo proporcionan funcionalidad trivial y consisten en 11 líneas de código. Cuando combinamos esto con políticas muy liberales de publicar nuevos paquetes, ahora vemos un aumento en ataques maliciosos dirigidos a los desarrolladores. Ha habido varios enfoques diferentes de los actores de amenaza:
Esos son solo algunos ejemplos de las técnicas por las cuales un desarrollador puede comprometerse. Esto es compatible con el hecho de que no hay un proceso de monitoreo sobre lo que se carga a los repositorios como PYPI o NPM, y un golpe de pura suerte ha descubierto los incidentes anteriores. Nuestro objetivo es mejorar eso.
## Marco Aura Creamos un marco diseñado para escanear el código fuente a gran escala (como todo el repositorio de Pypi), buscando anomalías e intenciones potencialmente maliciosas, así como vulnerabilidades. Este marco está diseñado para escanear el código fuente a pedido, como cuando un desarrollador instala un paquete o simplemente cualquier conjunto de archivos/directorios. La implementación actualmente se dirige al lenguaje de Python y a Pypi, sin embargo, está diseñada para proporcionar la capacidad de incluir otros idiomas. (como JavaScript y NPM)
El conjunto de casos de uso incluye, entre otros::
Un motor de análisis híbrido altamente optimizado logra esto. Se realiza un análisis en un entorno completamente seguro utilizando el análisis de código estático sin ninguna ejecución del código. El motor Aura Core está analizando el árbol AST analizado del código fuente, realizando análisis de comportamiento y flujo de ejecución del código. El motor también tiene soporte para reescribir el árbol AST utilizando un conjunto de reglas como propagación constante, plegamiento o evaluación estática; Estas son un conjunto de técnicas que los compiladores usan para optimizar el código. Esta es la razón por la cual este enfoque de análisis es "híbrido", ya que mejora el análisis estático con una evaluación parcial completamente segura que nos permite derrotar al mecanismo de ofuscación más simple.
A continuación, puede ver una exhibición de diferentes técnicas de "ofuscación" del código fuente reconocidas por el motor de transformación Aura AST:

Para aprender y comenzar a usar el marco, lea la documentación de instalación, configuración y uso.
La parte central del aura es analizar el código fuente para anomalías o vulnerabilidades potenciales. Aura tiene varios analizadores incorporados que buscan anomalías como el uso de Eval en el script de configuración; Otros analizadores analizan la estructura del sistema de archivos (código sin fuente) que buscan por ejemplo las credenciales de fuga, tokens API codificados, etc. Estos analizadores generan lo que llamamos golpes que definen las anomalías encontradas y también pueden incluir una puntuación, que se usa para computar a la aura de seguridad de los datos escaneados. Se recomienda utilizar un juicio razonable de las anomalías presentadas basadas en la funcionalidad de los datos de entrada. Por ejemplo, es completamente normal que una biblioteca de solicitudes incluya llamadas relacionadas con la red, mientras que al mismo tiempo, no se espera que una biblioteca de procesamiento de imágenes envíe datos a través de la red. También hay soporte para generar datos en formato JSON adecuado para escaneos de repositorio masivos o integración en otros productos. Para la descripción y el uso de otros componentes consulte la documentación.


##Documentación
Este proyecto tiene licencia bajo la licencia GPLV3; consulte el archivo License.txt para obtener más información. Las partes de este marco contienen integraciones (opcionales) con otros productos como la plataforma R2C, Bibliotecas.io, etc.; que están sujetos a su licencia y términos de uso.