Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
aura — Аудит исходного кода Python и статический анализ в больших масштабах | Kitploit
Инструменты/GitHubGitHub/sourcecode-ai/aura
Статический анализАнализ уязвимостейАнализ КодаАнализ вредоносных программОбнаружение СекретовБезопасность Цепочки ПоставокОбучение и Образование
GitHubsourcecode-ai/aura

aura

Аудит исходного кода Python и статический анализ в больших масштабах

Репозиторий
493282 лет назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

.. image:: https://cdn.sourcecode.ai/imgs/logotype.png :target: https://aura.sourcecode.ai/

======

.. class:: center

root@kitploit:~
|homepage_flair| |docs_flair| |docker_flair|
|license_flair| |travis_flair| |pypi_flair|

Аудит исходного кода и статический анализ кода

Aura — это фреймворк для статического анализа, разработанный в ответ на постоянно растущую угрозу вредоносных пакетов и уязвимого кода, публикуемого на PyPI.

Цели проекта:

  • предоставить автоматизированную систему мониторинга загруженных пакетов на PyPI, оповещать об аномалиях, которые могут указывать на текущую атаку или уязвимости в коде
  • позволить организации проводить автоматизированные аудиты безопасности исходного кода и внедрять безопасные практики программирования с фокусом на аудит стороннего кода, такого как зависимости от пакетов Python
  • позволить исследователям сканировать репозитории кода в больших масштабах, создавать наборы данных и проводить анализ для дальнейшего продвижения исследований в области уязвимых и вредоносных зависимостей кода

Список возможностей:

  • Подходит для анализа вредоносного ПО с гарантией отсутствия выполнения кода
  • Продвинутые механизмы деобфускации путем переписывания AST-дерева — распространение констант, развертывание циклов и другие грязные трюки
  • Рекурсивное сканирование автоматически распаковывает архивы (zip, wheel и т.д.) и сканирует содержимое
  • Поддержка сканирования также файлов, не являющихся Python — плагины могут работать в режиме «сырого файла», например, встроенная интеграция с Yara
  • Сканирование на наличие жестко заданных секретов, паролей и другой конфиденциальной информации
  • Собственный движок сравнения — вы можете сравнивать изменения между различными источниками данных, например, пакеты PyPI с опечатками, чтобы увидеть, какие изменения были внесены
  • Работает с исходным кодом как Python 2.x, так и Python 3.x
  • Высокая производительность, предназначен для сканирования всего репозитория PyPI
  • Вывод в многочисленных форматах, таких как красивый обычный текст, JSON, SQLite, SARIF и т.д.
  • Протестировано на более чем 4 ТБ сжатого исходного кода Python
  • Aura способна сообщать о поведении кода, таком как сетевое взаимодействие, доступ к файлам или выполнение системных команд
  • Вычисление «оценки Aura», показывающей, насколько надежен исходный код/входные данные
  • и многое, многое другое…

Не нашли то, что искали? Архитектура Aura основана на надежной системе плагинов, где вы можете настроить почти все, начиная от набора анализаторов данных и протоколов передачи до пользовательских форматов вывода.

Установка

::

root@kitploit:~
# Via pip:
pip install aura-security[full]
# or build from source/git
poetry install --no-dev -E full

Или просто используйте предварительно собранный docker-образ sourcecodeai/aura:dev

Запуск Aura

::

root@kitploit:~
docker run -ti --rm sourcecodeai/aura:dev scan pypi://requests -v

Aura использует так называемые URI для идентификации протокола и местоположения для сканирования. Если протокол не указан, аргумент сканирования интерпретируется как путь к файлу или каталогу в локальной системе.

.. image:: files/imgs/aura_scan.png

Сравнение пакетов::

root@kitploit:~
docker run -ti --rm sourcecodeai/aura:dev diff pypi://requests pypi://requests2

.. image:: docs/source/_static/imgs/aura_diff.png

Поиск наиболее популярных пакетов с опечатками (сначала нужно выполнить aura update для скачивания набора данных)::

root@kitploit:~
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?

Хотя существуют и другие инструменты с функциональностью, пересекающейся с Aura, такие как Bandit, dlint, semgrep и т.д., фокус этих альтернатив отличается, что влияет на функциональность и способы их использования. Эти альтернативы в основном предназначены для использования аналогично линтерам, интегрированы в IDE, часто запускаются во время разработки, что делает важным минимизацию ложных срабатываний и предоставление отчетов с четкими практически применимыми объяснениями в идеальных случаях.

С другой стороны, Aura сообщает о поведении кода, аномалиях и уязвимостях, предоставляя как можно больше информации за счет ложных срабатываний. Aura сообщает о многих вещах, которые не обязательно являются практически применимыми для пользователя, но они многое говорят о поведении кода, например, о сетевом взаимодействии, доступе к конфиденциальным файлам или использовании механизмов, связанных с обфускацией, что указывает на возможный вредоносный код. Собирая такие данные и агрегируя их, Aura по функциональности можно сравнить с другими системами безопасности, такими как антивирусы, IDS или брандмауэры, которые по сути выполняют тот же анализ, но на других типах данных (сетевое взаимодействие, запущенные процессы и т.д.).

Вот краткий обзор различий между Aura и другими подобными линтерами и инструментами SAST:

  • входные данные:
    • Другие инструменты SAST — обычно ограничены только исходным кодом Python (целевым) и версией Python, под которой установлен инструмент.
    • Aura может анализировать как бинарный (или не-Python код), так и исходный код Python. Способна анализировать смесь кода Python, совместимого с разными версиями Python (py2k и py3k), используя одну и ту же установку Aura.
  • отчетность:
    • Другие инструменты SAST — нацелены на хорошую интеграцию с другими системами, такими как IDE, CI-системы, с практически применимыми результатами, стараясь минимизировать ложные срабатывания, чтобы не перегружать пользователей слишком большим количеством незначительных предупреждений.
    • Aura — сообщает как можно больше информации, которая не является сразу практически применимой, такой как анализ поведения и аномалий. Формат вывода предназначен для легкой машинной обработки и агрегации, а не для чтения человеком.
  • конфигурация:
    • Другие инструменты SAST — инструменты настраиваются под целевой проект путем кастомизации сигнатур для конкретных технологий, используемых целевым проектом. Переопределение конфигурации часто возможно путем вставки комментариев в исходный код, таких как # nosec, которые подавляют предупреждение в этой позиции.
    • Aura — ожидается, что заранее мало или совсем нет знаний о технологиях, используемых сканируемым кодом, например, при аудите нового пакета Python для утверждения его использования в качестве зависимости проекта. В большинстве случаев невозможно изменить сканируемый исходный код, например, с помощью комментариев, чтобы указать линтеру или Aura пропустить обнаружение в этом месте, потому что сканируется копия кода, размещенная на удаленном ресурсе.

Авторы и участники

  • Мартин Карногурски - Начальная разработка и руководство проектом - https://is.muni.cz/person/410345
  • Мирза Зульфан - Дизайн логотипа - https://github.com/mirzazulfan

Пожертвовать

  • GitHub Sponsors: https://github.com/sponsors/RootLUG
  • Liberapay: https://liberapay.com/SourceCode.AI
  • BuyMeACoffee: https://www.buymeacoffee.com/SourceCodeAI
  • BTC: 3FVTaLsLwTDinmDjPh3BjS1qv3bYHbkcYc
  • XMR: 46xvWZGCexo1NbvjLMMpLB1GhRd819AQr8eFPJT1q6kKMuuDy43JLiESh9XUM3asjk4SVUYqGakFVQZRY1adx8cS6ka4EXr
  • ETH/ERC20: 0x708F1A08E3ee4922f037673E720c405518C0Ec85

ЛИЦЕНЗИЯ

Фреймворк Aura лицензирован под GPL-3.0. Наборы данных, полученные в результате глобального сканирования с использованием Aura, выпускаются под лицензией CC BY-NC 4.0. Используйте следующую цитату при использовании Aura или данных, полученных с помощью Aura, в исследованиях:

::

root@kitploit:~
@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

Скачать инструмент