
تدقيق شفرة مصدر بايثون وتحليل ثابت على نطاق واسع
.. 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 هو إطار عمل للتحليل الثابت تم تطويره كاستجابة للتهديد المتزايد باستمرار للحزم الخبيثة والكود الضعيف المنشور على PyPI.
أهداف المشروع:
قائمة الميزات:
لم تجد ما تبحث عنه؟ تعتمد بنية Aura على نظام إضافات قوي، حيث يمكنك تخصيص كل شيء تقريبًا، بدءًا من مجموعة محللي البيانات، بروتوكولات النقل إلى تنسيقات المخرجات المخصصة.
::
# عبر pip:
pip install aura-security[full]
# أو البناء من المصدر/git
poetry install --no-dev -E full
أو استخدم فقط صورة docker مبنية مسبقًا sourcecodeai/aura:dev
::
docker run -ti --rm sourcecodeai/aura:dev scan pypi://requests -v
يستخدم Aura ما يسمى بـ URIs لتحديد البروتوكول والموقع للمسح، إذا لم يتم استخدام أي بروتوكول، يتم التعامل مع وسيطة المسح كمسار للملف أو الدليل على النظام المحلي.
.. image:: files/imgs/aura_scan.png
مقارنة الحزم::
docker run -ti --rm sourcecodeai/aura:dev diff pypi://requests pypi://requests2
.. image:: docs/source/_static/imgs/aura_diff.png
العثور على أشهر الحزم المتشابهة إملائيًا (تحتاج إلى تشغيل aura update أولاً لتنزيل مجموعة البيانات)::
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
بينما توجد أدوات أخرى ذات وظائف تتداخل مع Aura مثل Bandit، dlint، semgrep إلخ، فإن تركيز هذه البدائل مختلف مما يؤثر على الوظائف وكيفية استخدامها. هذه البدائل مخصصة بشكل أساسي للاستخدام بطريقة مشابهة لأدوات الـ linter، مدمجة في بيئات التطوير المتكاملة (IDEs)، وتُشغَّل بشكل متكرر أثناء التطوير مما يجعل من المهم تقليل النتائج الإيجابية الخاطئة والإبلاغ بتفسيرات واضحة قابلة للتنفيذ في الحالات المثالية.
من ناحية أخرى، يقدم Aura تقارير عن سلوك الكود، الحالات الشاذة، والثغرات بأكبر قدر ممكن من المعلومات على حساب النتائج الإيجابية الخاطئة. هناك الكثير من الأشياء التي يبلغ عنها Aura والتي ليست بالضرورة قابلة للتنفيذ من قبل المستخدم ولكنها تخبرك كثيرًا عن سلوك الكود مثل القيام باتصالات الشبكة، الوصول إلى ملفات حساسة، أو استخدام آليات مرتبطة بالتعتيم مما يشير إلى وجود كود خبيث محتمل. من خلال جمع هذا النوع من البيانات وتجميعها معًا، يمكن مقارنة Aura في الوظائف بأنظمة أمان أخرى مثل مضادات الفيروسات، أنظمة كشف التسلل (IDS)، أو جدران الحماية التي تقوم أساسًا بنفس التحليل ولكن على نوع مختلف من البيانات (اتصالات الشبكة، العمليات الجارية، إلخ).
فيما يلي نظرة عامة سريعة على الاختلافات بين Aura وأدوات linter و SAST المماثلة الأخرى:
# nosec التي ستقوم بإخفاء التنبيه في ذلك الموضع.إطار عمل Aura مرخص بموجب GPL-3.0. مجموعات البيانات المنتجة من الفحوصات العالمية باستخدام Aura يتم إصدارها بموجب ترخيص CC BY-NC 4.0. استخدم الاقتباس التالي عند استخدام Aura أو البيانات المنتجة بواسطة Aura في البحث:
::
@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