
Python-Quellcode-Audit und statische Analyse in großem Maßstab
.. 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 ist ein statisches Analyse-Framework, das als Reaktion auf die ständig zunehmende Bedrohung durch bösartige Pakete und anfälligen Code, der auf PyPI veröffentlicht wird, entwickelt wurde.
Projektziele:
Funktionsliste:
Sie haben nicht gefunden, was Sie suchen? Die Architektur von Aura basiert auf einem robusten Pluginsystem, bei dem Sie fast alles anpassen können, von einer Reihe von Datenanalysatoren über Transportprotokolle bis hin zu benutzerdefinierten Ausgabeformaten.
::
# Via pip:
pip install aura-security[full]
# or build from source/git
poetry install --no-dev -E full
Oder verwenden Sie einfach ein vorgefertigtes Docker-Image sourcecodeai/aura:dev
::
docker run -ti --rm sourcecodeai/aura:dev scan pypi://requests -v
Aura verwendet sogenannte URIs, um das Protokoll und den Speicherort für den Scan zu identifizieren. Wenn kein Protokoll verwendet wird, wird das Scan-Argument als Pfad zur Datei oder zum Verzeichnis auf einem lokalen System behandelt.
.. image:: files/imgs/aura_scan.png
Pakete diffen::
docker run -ti --rm sourcecodeai/aura:dev diff pypi://requests pypi://requests2
.. image:: docs/source/_static/imgs/aura_diff.png
Finde die beliebtesten Typosquatting-Pakete (Sie müssen zuerst aura update aufrufen, um den Datensatz herunterzuladen)::
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
Obwohl es andere Tools mit Funktionalität gibt, die sich mit Aura überschneidet, wie Bandit, dlint, semgrep usw., ist der Fokus dieser Alternativen anders, was die Funktionalität und ihre Verwendung beeinflusst. Diese Alternativen sind hauptsächlich dafür gedacht, ähnlich wie Linter verwendet zu werden, in IDEs integriert, häufig während der Entwicklung ausgeführt, was es wichtig macht, falsch-positive Ergebnisse zu minimieren und mit klaren handlungsorientierten Erklärungen in Idealfällen zu berichten.
Aura hingegen berichtet über das Verhalten des Codes, Anomalien und Schwachstellen mit so vielen Informationen wie möglich, zum Preis von falsch-positiven Ergebnissen. Es gibt viele Dinge, die von Aura gemeldet werden, die für einen Benutzer nicht unbedingt handlungsrelevant sind, aber sie sagen viel über das Verhalten des Codes aus, wie z.B. Netzwerkkommunikation, Zugriff auf sensible Dateien oder die Verwendung von Mechanismen, die mit Verschleierung verbunden sind, was auf einen möglichen bösartigen Code hinweist. Durch das Sammeln dieser Daten und deren Aggregation kann Aura in der Funktionalität mit anderen Sicherheitssystemen wie Antivirenprogrammen, IDS oder Firewalls verglichen werden, die im Wesentlichen die gleiche Analyse durchführen, aber auf einer anderen Art von Daten (Netzwerkkommunikation, laufende Prozesse usw.).
Hier ist ein schneller Überblick über die Unterschiede zwischen Aura und anderen ähnlichen Lindern und SAST-Tools:
# nosec, die die Warnung an dieser Stelle unterdrücken.Aura-Framework ist lizenziert unter der GPL-3.0. Datensätze, die aus globalen Scans mit Aura erstellt werden, werden unter der CC BY-NC 4.0-Lizenz veröffentlicht. Verwenden Sie die folgende Zitation, wenn Sie Aura oder von Aura erzeugte Daten in der Forschung verwenden:
::
@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