Интересно, есть ли модуль python, который я могу использовать в качестве фильтра для stdout для предотвращения отображения конфиденциальной информации, такой как пароли или учетные данные?
Я ищу общее решение, поскольку у меня нет никакого контроля или предшествующего знания о том, что эффективно печатается (это вывод пользовательских команд оболочки). Тем не менее, в качестве меры безопасности я предпочел бы скрыть информацию, которая может быть чувствительной.
Пример из реальной жизни: "set" печатает переменную окружения и явно выставляет OS_PASSWORD
, если определено. Если описанный мной фильтр просто заменит значение на *
, это сделает его безопасным для использования.
Я пытался найти на https://pypi.org, но пока не смог ничего найти.
Мы можем предположить, что регистрация Python используется для вывода, так как это рекомендуемый способ записи чего-либо в Python.
Разъяснение: у меня нет способа узнать, какие переменные среды, возможно, необходимо очистить, по умолчанию инструмент не нуждается в каких-либо учетных данных, поэтому мне нужно универсальное решение, которое имеет набор по умолчанию, который известен как чувствительный.
С такой же проблемой сталкиваются в любой общедоступной системе CI, для работы которой требуются учетные данные. Достойный подход заключается в дезинфекции выходных данных во избежание случайной утечки информации. Например, пользователь может добавить «набор», который бы выставлял некоторые из этих переменных в журналы.
Речь идет не о злонамеренных пользователях, которые могут легко найти способ обойти систему фильтрации, если они действительно этого хотят, а о предотвращении случайной утечки, вызванной кодом, который вы не можете контролировать.
Поэтому небезопасному коду необходим доступ к конфиденциальной информации, и вы не можете предотвратить его отображение. Все, что я ищу, это какое-то решение "белой пасты" ....