Как найти уязвимость в 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 и т.д.
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 и уведомляет вас об обнаружении устаревших или уязвимых модулей.
Вы можете настроить получение уведомлений, добавив значки, электронную почту или GitHub pull.
8. Safety
Средство проверки зависимостей python, Safety может сканировать локальную виртуальную среду, файл требований, входные данные stdin
на наличие проблем безопасности.
Заключение
Я надеюсь, что перечисленные выше инструменты помогут вам найти угрозу безопасности в вашем приложении на Python.