
A tendência atual no desenvolvimento é usar muitos pacotes na fase de desenvolvimento, mesmo que eles forneçam apenas funcionalidade trivial e consistam em 11 linhas de código. Quando combinamos isso com políticas muito liberais da publicação de novos pacotes, agora vemos um aumento em ataques maliciosos direcionados aos desenvolvedores. Houve várias abordagens diferentes por atores de ameaças:
Esses são apenas alguns exemplos das técnicas pelas quais um desenvolvedor pode se comprometer. Isso é suportado pelo fato de que não há processo de monitoramento sobre o que é carregado nos repositórios como PyPI ou NPM, e um golpe de pura sorte descobriu os incidentes anteriores. Nosso objetivo é melhorar isso.
## AURA Framework, criamos uma estrutura projetada para digitalizar o código -fonte em larga escala (como todo o repositório da PYPI), procurando anomalias e intenção potencialmente maliciosa, bem como vulnerabilidades. Essa estrutura foi projetada para também digitalizar o código -fonte sob demanda, como quando um pacote é instalado por um desenvolvedor ou apenas qualquer conjunto de arquivos/diretórios. Atualmente, a implementação está visando a linguagem Python e o PYPI, no entanto, foi projetado para fornecer a capacidade de incluir outros idiomas. (como JavaScript e NPM)
O conjunto de casos de uso inclui, entre outros
Um mecanismo de análise híbrida altamente otimizado alcança isso. Uma análise é realizada em um ambiente completamente seguro usando análise de código estático sem qualquer execução de código. O Aura Core Engine está analisando a árvore AST analisada a partir do código -fonte, executando análise comportamental e fluxo de execução de código. O mecanismo também tem suporte para reescrever a árvore AST usando um conjunto de regras como propagação constante, dobragem ou avaliação estática; Estes são um conjunto de técnicas que os compiladores usam para otimizar o código. Esta é a razão pela qual essa abordagem de análise é "híbrida", pois aumenta a análise estática com uma avaliação parcial completamente segura, que nos permite derrotar o mecanismo de ofuscação mais simples.
Abaixo, você pode ver uma vitrine de diferentes técnicas de "ofuscação" de código fonte reconhecidas pelo mecanismo de transformação Aura AST:

Para aprender e começar a usar a estrutura, leia a documentação de instalação, configuração e uso.
A parte central da aura está analisando o código -fonte para anomalias ou vulnerabilidades em potencial. A aura possui vários analisadores internos que procuram anomalias, como o uso de avaliação no script de configuração; Outros analisadores analisam a estrutura do sistema de arquivos (código não source), por exemplo, para vazar credenciais, tokens de API codificados, etc. Esses analisadores geram o que chamamos de hits que definem as anomalias encontradas e também podem incluir uma pontuação, que é usada para calcular a aura de segurança dos dados digitalizados. É recomendável usar um julgamento razoável das anomalias apresentadas com base na funcionalidade dos dados de entrada. Por exemplo, é completamente normal para uma biblioteca de solicitações incluir chamadas relacionadas à rede e, ao mesmo tempo, não é esperado que uma biblioteca de processamento de imagens envie dados pela rede. Também há suporte para a saída de dados no formato JSON adequado para varreduras de repositório maciço ou integração em outros produtos. Para descrição e uso de outros componentes, consulte a documentação.


##Documentação
Este projeto está licenciado sob a licença GPLV3 - consulte o arquivo License.txt para obter detalhes. Partes desta estrutura contém integrações (opcionais) com outros produtos, como a plataforma R2C, Libraries.io, etc.; que são submetidos à sua licença e aos termos de uso.