
Auditoria de código-fonte Python e análise estática em grande escala.
.. image:: https://cdn.sourcecode.ai/imgs/logotype.png :target: https://aura.sourcecode.ai/
======
.. class:: center
|homepage_flair| |docs_flair| |docker_flair|
|license_flair| |travis_flair| |pypi_flair|
Aura é um framework de análise estática desenvolvido como resposta à ameaça cada vez maior de pacotes maliciosos e código vulnerável publicados no PyPI.
Objetivos do projeto:
Lista de funcionalidades:
Não encontrou o que procura? A arquitetura do Aura é baseada em um sistema robusto de plugins, onde você pode personalizar quase tudo, desde um conjunto de analisadores de dados, protocolos de transporte até formatos de saída personalizados.
::
# Via pip:
pip install aura-security[full]
# or build from source/git
poetry install --no-dev -E full
Or just use a prebuild docker image ``sourcecodeai/aura:dev``
::
docker run -ti --rm sourcecodeai/aura:dev scan pypi://requests -v
Aura usa URIs para identificar o protocolo e localização a serem escaneados. Se nenhum protocolo for usado, o argumento de escaneamento é tratado como um caminho para o arquivo ou diretório no sistema local.
.. image:: files/imgs/aura_scan.png
Diferença entre pacotes::
docker run -ti --rm sourcecodeai/aura:dev diff pypi://requests pypi://requests2
.. image:: docs/source/_static/imgs/aura_diff.png
Encontre os pacotes typosquatting mais populares (você precisa executar aura update para baixar o conjunto de dados primeiro)::
aura find-typosquatting --max-distance 2 --limit 10
.. image:: https://asciinema.org/a/367999.svg :target: https://asciinema.org/a/367999
.. image:: files/imgs/download_dataset.png :target: https://cdn.sourcecode.ai/pypi_datasets/index/datasets.html :align: center :width: 256
Embora existam outras ferramentas com funcionalidades que se sobrepõem ao Aura, como Bandit, dlint, semgrep, etc., o foco dessas alternativas é diferente, o que impacta a funcionalidade e como são utilizadas. Essas alternativas são principalmente destinadas a serem usadas de maneira semelhante a linters, integradas a IDEs, executadas frequentemente durante o desenvolvimento, o que torna importante minimizar falsos positivos e reportar com explicações claras e acionáveis em casos ideais.
O Aura, por outro lado, relata comportamento do código, anomalias e vulnerabilidades com o máximo de informações possível, ao custo de falsos positivos. Há muitas coisas reportadas pelo Aura que não são necessariamente acionáveis por um usuário, mas que dizem muito sobre o comportamento do código, como realizar comunicação de rede, acessar arquivos sensíveis ou usar mecanismos associados a ofuscação, indicando um possível código malicioso. Ao coletar esses dados e agregá-los, o Aura pode ser comparado em funcionalidade a outros sistemas de segurança, como antivírus, IDS ou firewalls, que estão essencialmente fazendo a mesma análise, mas em um tipo diferente de dados (comunicação de rede, processos em execução, etc).
Aqui está uma visão geral rápida das diferenças entre o Aura e outras ferramentas similares de linters e SAST:
# nosec, que suprime o alerta naquela posição.O framework Aura é licenciado sob a GPL-3.0. Conjuntos de dados produzidos a partir de varreduras globais usando o Aura são liberados sob a licença CC BY-NC 4.0. Use a seguinte citação ao usar o Aura ou dados produzidos pelo Aura em pesquisa:
::
@misc{Carnogursky2019thesis,
AUTHOR = "CARNOGURSKY, Martin",
TITLE = "Attacks on package managers [online]",
YEAR = "2019 [cit. 2020-11-02]",
TYPE = "Bachelor Thesis",
SCHOOL = "Masaryk University, Faculty of Informatics, Brno",
SUPERVISOR = "Vit Bukac",
URL = "Available at WWW <https://is.muni.cz/th/y41ft/>",
}
.. |homepage_flair| image:: https://img.shields.io/badge/Homepage-aura.sourcecode.ai-blue :target: https://aura.sourcecode.ai/ :align: middle
.. |docs_flair| image:: https://img.shields.io/badge/-Documentation-blue :target: https://docs.aura.sourcecode.ai/ :align: middle
.. |docker_flair| image:: https://img.shields.io/badge/docker-SourceCodeAI/aura-blue :target: https://hub.docker.com/r/sourcecodeai/aura :align: middle
.. |license_flair| image:: https://img.shields.io/github/license/SourceCode-AI/aura?color=blue
.. |travis_flair| image:: https://travis-ci.com/SourceCode-AI/aura.svg?branch=dev
.. |pypi_flair| image:: https://badge.fury.io/py/aura-security.svg :target: https://pypi.org/project/aura-security/ :align: middle