Рубрики
Без рубрики

10 потрясающие советы по безопасности для энтузиастов Python

Откройте для себя 10 способов повышения практики безопасности Python. Помечено Python, безопасность, советы.

Разработка программного обеспечения – это удивительная работа, которая иногда может чувствовать себя как бензопилы жонглирования. Между поддержанием вашей текущей кодовой базы и выпуска новых функций и проектов, это довольно легко подумать о безопасности как Проблема чужих – Вы достаточно, чтобы иметь дело с.

Но есть серьезная выгода для включения в сознание безопасности в ваш рабочий процесс. Вы можете исправить проблемы быстрее и даже убедиться, что некоторые проблемы никогда не увидите свет дня. Управляя вашей безопасности игры может начать с нескольких простых шагов.

В этом духе я хотел бы представить вам 10 потрясающих советов по безопасности для энтузиастов Python Отказ

  • 1. Используйте Python 3

Время пришло. Если у вас есть проекты в Python 2.7, приоритетная передача обновления. Поддержка Python 2 официально заканчивается 1 января 2020 года. Если вы не обновлялись к тому времени, вы оставляете себя открытым для уязвимостей безопасности, как внутри языка, так и в других проектах с открытым исходным кодом, которые вряд ли будут поддерживать совместимость с Python 2.7 в своих последних версиях.

  • 2. Сканируйте свой код с Bandit

Простой способ найти уязвимости безопасности в вашем коде Python – запускать сканирование с Бандит Отказ

Bandit сканирует каждый .py Файл и создает соответствующее абстрактное синтаксическое дерево (AST). Затем бандит запускает ряд плагинов против AST, чтобы найти общие проблемы с программным обеспечением. Например, один плагин может обнаружить, используете ли вы колбу (микро-каркас для Python) с настройкой отладки, равной TRUE.

Bandit работает либо в качестве локального инструмента, который будет использоваться, когда вы разрабатываете или как часть вашего CI/CD (непрерывной интеграции/непрерывной доставки) трубопровода.

  • 3. Используйте Pipenv для управления окружающей средой и зависимостями

Пипнв это инструмент, который управляет конкурирующими интересами предсказуемой среды и имея современную среду. Он использует двумя файловую систему, которая разделяет абстрактные декларации зависимости от последней тестируемой комбинации. Pipenv управляет вашим установками и вашей виртуальной средой, отображает вашу зависимость дерева и может проверить ваши зависимости для известных уязвимостей.

  • 4. Смотрите ваши операторы импорта

Импорт Python очень гибкий, но эта гибкость имеет стоимость безопасности.

При импорте в Python вы можете использовать Абсолютный импорт или Относительный импорт Отказ Абсолютный импорт Использует весь путь (начиная с корневого каталога) модуля, который вы хотите импортировать. А Относительный импорт Начинается на пути текущего модуля. Python 2 разрешен для Неявный относительный импорт , которые не указывают местоположение относительно текущего модуля. Если модуль найден в системном пути, он импортируется, что может быть опасно. Может быть возможно создать вредоносную модуль с тем же именем, что и популярный модуль, а затем проводит его в популярную библиотеку с открытым исходным кодом. Если вредоносный модуль найден в системном пути до Настоящий модуль он импортируется вместо этого.

Импортные операторы в Python выполняют код в импортируемом модуле – это означает, что неявный относительный импорт может привести к выполнению вредоносного кода. По этой причине неявный относительный импорт не поддерживается в Python 3.

Если вы используете Python 2, устраните использование неявного относительного импорта. Это важно для текущей безопасности вашего проекта и потому, что это необходимый шаг к модернизации до Python 3. Если вы используете Python 3, он по-прежнему важно иметь в виду, что операторы импорта выполнить код внутри целевого модуля. Из-за этого имеет смысл быть осторожным с вашими импортными заявлениями, независимо от версии Python, которую вы используете.

  • 5. Будьте осторожны при загрузке пакетов

Легко установить пакеты Python. Обычно разработчики используют стандартный установщик пакета для Python (PIP), хотя Pipenv, как обсуждено выше, является отличной альтернативой. Независимо от того, используете ли вы Pip или Pipenv, важно понимать, как добавлены пакеты в Pypi Отказ

Pypi имеет процедуру для Сообщение о проблемах безопасности Отказ Если кто-то сообщает о вредоносной упаковке или проблема в Pypi, она будет адресована, но Пакеты, добавленные в Pypi, не проходят обзор -Это будет нереальным ожиданием добровольцев, которые поддерживают Pypi.

Поэтому это мудро для Предположим, что есть вредоносные пакеты в Pypi и ведут себя соответственно Отказ Разумные шаги включают в себя немного исследования в пакете, который вы хотите установить, и обеспечить, чтобы вы осторожно изложили имя пакета (пакет, названный для общего проводника популярного пакета, может выполнить вредоносный код).

Оставшиеся 5 баллов доступны в моем первоначальном отчете здесь Отказ Вы также найдете печатный и общий чит-лист для этих 5 советов, а также 5 дополнительных советов в полном отчете.

Нажмите здесь для полного отчета!

Спасибо за прочтение!

Большое спасибо за Кеннет Рейц и Эрнест Дурбин Для их обзора!

Оригинал: “https://dev.to/hayleydenb/10-awesome-security-tips-for-python-enthusiasts-3729”