
Текущая тенденция в разработке состоит в том, чтобы использовать множество пакетов на этапе разработки, даже если они предоставляют только тривиальные функции и состоят из 11 строк кода. Когда мы объединяем это с очень либеральной политикой публикации новых пакетов, теперь мы видим рост злонамеренных атак, нацеленных на разработчиков. Было несколько разных подходов актеров угроз:
Это всего лишь несколько примеров методов, с помощью которых разработчик может пойти на компромисс. Это подтверждается тем фактом, что не существует процесса мониторинга в отношении того, что загружается в репозитории, такие как PYPI или NPM, и удар по удаче обнаружил предыдущие инциденты. Наша цель - улучшить это.
## Aura Framework Мы создали структуру, которая предназначена для сканирования исходного кода в больших масштабах (например, весь репозиторий PYPI), поиск аномалий и потенциально злонамеренных намерений, а также уязвимостей. Эта структура предназначена для сканирования исходного кода по требованию, например, когда разработчик установлен пакет или просто любой набор файлов/каталогов. В настоящее время реализация нацелена на язык Python и PYPI, однако она предназначена для обеспечения возможности включать другие языки. (например, JavaScript и NPM)
Набор вариантов использования включает, но не ограничивается:
Высоко оптимизированный гибридный двигатель анализа достигает этого. Анализ выполняется в совершенно безопасной среде с использованием анализа статического кода без какого -либо выполнения кода. Двигатель Aura Core анализирует дерево AST, проанализированное из исходного кода, выполняя поведенческий анализ и поток выполнения кода. Двигатель также поддерживает переписывание дерева AST, используя набор правил, таких как постоянное распространение, складывание или статическая оценка; Это набор методов, которые компиляторы используют для оптимизации кода. По этой причине этот подход анализа является «гибридным», поскольку он усиливает статический анализ с совершенно безопасной частичной оценкой, которая позволяет нам победить более простой механизм запутывания.
Ниже вы можете увидеть демонстрацию различных методов «запутывания» исходного кода, расположенных механизмом преобразования AURA AST:

Чтобы изучить и начать использовать фреймворк, прочитайте документацию по установке, конфигурации и использованию.
Основной частью ауры является анализ исходного кода для аномалий или потенциальных уязвимостей. У Aura есть несколько встроенных анализаторов, которые ищут такие аномалии, как использование Eval в сценарии установки; Другие анализаторы смотрят на структуру файловой системы (не источник кода), например, для протекания учетных данных, жестких токенов API и т . Д. Рекомендуется использовать разумное суждение представленных аномалий на основе функциональности входных данных. Например, для библиотеки запросов является абсолютно нормальным включением в сеть вызовы, в то же время, когда библиотека обработки изображений не ожидает отправки данных по сети. Существует также поддержка для вывода данных в формат JSON, подходящий для массовых сканирования репозитория или интеграции в другие продукты. Для описания и использования других компонентов проконсультируются с документацией.


## документация
Этот проект лицензирован по лицензии GPLV3 - для получения подробной информации см. Файл Licence.txt. Части этой структуры содержат (необязательно) интеграции с другими продуктами, такими как платформа R2C, Libraries.io и т. Д.; которые подвергаются их лицензии и условиям использования.