Как найти уязвимость в Python приложении?

Существует много комплексных онлайн сканеров для тестирования на безопасность, но они не могут быть в состоянии обнаружить конкретную слабость в платформе, как Python, Node.js . и т.п.

Давайте посмотрим на список сканеров, чтобы найти угрозу безопасности в приложении Python.

1. PYT (Python Taint)

Инструмент статического анализа с открытым исходным кодом для защиты от внедрения команд, межсайтового скриптинга (XSS), SQL инъекций и атак через каталог в веб-приложениях на Python.

Если вы хотели бы внести свой вклад в PYT, то вы можете присоединиться к их slack группе.

2. Bandit

Bandit - это бесплатный инструмент с открытым исходным кодом, для поиска уязвимости в вашем Python коде. Данный инструмент обрабатывает каждый файл и генерирует отчет.

Вы можете установить его с помощью pip.

Вы можете настроить конфигурацию проверки Bandit. По умолчанию тест проводится для всех профилей, однако, если вы хотите проверить только ShellInjection, используйте команду ниже.

bandit samples/*.py -p ShellInjection

Вы также можете составить отчет в зависимости от уровня серьезности (низкий, средний или высокий).

3. Pyntch

Инструмент Pyntch поддерживает только Python 2.x, статический анализатор кода для обнаружения возможных ошибок во время выполнения.

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

Это быстрый инструмент способный сканировать тысячи строк в минуту.

4. Spaghetti

Удобный сканер с открытым исходным кодом на основе Python для обнаружения неверной конфигурации, небезопасных файлов и поддержки веб-фреймворков, таких как CherryPy, CakePHP и т.д.

python spaghetti

Spaghetti способен обнаруживать различные атаки, включая следующие:

  • Атака «грубой силой» (Brutforce)
  • Взлом кредитной карты, электронной почты, раскрытие IP
  • HTML / SQL / LDAP / XPATH / XSS
  • ShellShock, Crime, Struts-shock
  • Анонимный шифр (Anonymous cipher)

5. RATS (Rough Auditing Tools for Security)

Инструмент RATS выполняет анализ кода Python, PHP, Perl, C ++ и выделяет ошибки, связанные с безопасностью, как показано ниже:

  • Время проверки
  • Время использования
  • Переполнение буфера

6. Acunetix

Acunetix проверяет ваш сайт на наличие более 5000 разновидных уязвимостей и предоставляет подробный отчет с рекомендациями по исправлению. Это комплексная платформа сканирования уязвимостей для тестирования веб-приложений.

Если у вас есть веб-приложение на Python, то данный инструмент поможет вам в углубленном анализе на безопасность.

7. Requires

require.io следит за безопасностью зависимостей Python и уведомляет вас об обнаружении устаревших или уязвимых модулей.

http://require.io/

Вы можете настроить получение уведомлений, добавив значки, электронную почту или GitHub pull.

8. Safety

Средство проверки зависимостей python, Safety может сканировать локальную виртуальную среду, файл требований, входные данные stdin на наличие проблем безопасности.

PythonSafety

Заключение

Я надеюсь, что перечисленные выше инструменты помогут вам найти угрозу безопасности в вашем приложении на Python.