В настоящее время я занимаюсь устранением уязвимости Pandas DataFrame.query(), связанной с внедрением кода, которая позволяет выполнять произвольный код, если небезопасный пользовательский ввод обрабатывается методом .query(). Я понимаю, что эта проблема возникает, поскольку метод query() может выполнять выражения в контексте DataFrame, что потенциально может привести к угрозе безопасности.
Мои вопросы следующие:
- Следует ли вручную исправить уязвимость?
Например, я могу переопределить метод query() в исходный код Pandas для проверки выражений с использованием модуля Python ast и блокировки небезопасных конструкции. Рекомендуемый ли это подход или он создает потенциальные риски (например, нарушение функциональности, длительное сохранение исправления)?
- Как часто ли команда Pandas выпускает обновления или исправления для подобных уязвимостей?
Следует ли мне ждать официального обновления для решения этой проблемы? Существуют ли какие-либо рекомендации по отслеживанию появления исправлений?
- Какова общая практика устранения таких уязвимостей на уровне библиотеки в рабочей среде? средах?
Лучше ли применить временные меры по смягчению последствий (например, проверку входных данных в коде моего приложения) и подождать, пока специалисты по сопровождению библиотеки, или мне следует создать ответвление/исправить исправление? библиотеку для немедленного решения?
Будем очень признательны за любую информацию, особенно от тех, кто имеет опыт поддержки безопасных приложений Python!
Подробнее здесь:
https://stackoverflow.com/questions/793 ... wait-for-a