Защищаемся от утечки секретов в логи
Пока аналитики разбираются с инцидентами Binance и Polymarket, давайте исследуем неочевидные места, где могут оказаться наши секреты.
Даже если мы прячем токен в хранилище, шифруем базу и ограничиваем доступ к проду, всё равно остаётся предчувствие, что какой-нибудь SDK в проекте вдруг вернёт объект ошибки с содержимым конфига. Затем его целиком сохранит какой-нибудь логгер, и токен окажется в системе мониторинга.
Если секрет где-то превратится в обычную строку, по её типу уже не понять, что её нельзя логировать. Подход: оборачивать строку секрета так, чтобы по-умолчанию скрывать его при выводе в логи.
И несколько принципов, которых стоит придерживаться:
* проверять данные на входе в логгер и удалять чувствительные значения до записи * настроить taint-анализ в статическом анализаторе, чтобы отслеживать, откуда секрет приходит, куда передаётся и в какие вызовы логирования может попасть * ловить утечки в тестах. Если значение секрета оказалось в логах, тест должен упасть.
И не логировать всё подряд на случай «вдруг пригодится».
· 5 ч
https://t.me/makrushin/544
0
ответить
коммент скрыт — часть юзеров считает его токсичным или некорректным
коммент удалён