Изначально я расследовал сообщение о том, что Postman не соответствует стандартам HIPAA. Я выяснил, что Postman не просто полностью непригоден для тестирования медицинских приложений — этот инструмент фактически полностью игнорирует конфиденциальность своих пользователей и, скорее всего, сохранил каждый секретный ключ, который вы когда-либо ему передавали.
Charles Proxy
Это расследование было бы невозможным (или, по крайней мере, не таким простым) без Charles Proxy. Его lifetime лицензия стоит 50 долларов — когда вы откажетесь от месячной корпоративной подписки на Postman за 49 долларов, после прочтения этого поста, пожалуйста, поддержите действительно этичных разработчиков, купив лицензию, хотя бы для того, чтобы самим проверить мои результаты.
Первое, что вы заметите — Postman записывает массу информации. Ещё до того, как вы как-либо взаимодействуете с приложением, сотни сетевых запросов отправляются во множество аналитических сервисов и сторонних интеграций.

На самом деле, это довольно распространенная проблема в современном программном обеспечении, которое обычно придерживается принципа «логировать всё».
Certificate pinning
Чтобы просмотреть зашифрованный трафик, который отправляется на сервера Postman, вам нужно включить SSL-проксирование и обойти проверку сертификата (certificate pinning).

Как только вы установите поддельный корневой сертификат, вы сможете увидеть расшифрованные данные, которые отправляются на сервера Postman.
Postman утечка секретов
Это было настолько легко обнаружить, что меня действительно удивило, почему никто другой не обратил на это внимания. Если я создаю переменную окружения и присваиваю ей значение "secret" — она скрыта от окружающих, но не для логов, которые отправляются Postman.

Неважно, установили ли вы переменную окружения как секретную или нет, замаскирована она на экране или нет, Postman всё равно её перхватит через строку resolvedRequestUrl (фиксирует состояние URL после подстановки секретных переменных).
В интерфейсе Postman есть всплывающее окно с громким заявлением, что переменные — это способ "защитить конфиденциальные данные". Это легко доказуемая ложь, так как мои, якобы секретные, данные отправляются в виде логов в открытом виде.

Чтобы пояснить, в чём тут проблема:
Если я создаю секретную строку, я не хочу, чтобы вы отправляли её на сервера вашей компании. Не понимаю, почему это требование не очевидно для команды Postman.
Кажется они пытались предпринять меры, чтобы специально не записывать заголовки, но персональные или чувствительные данные всё равно могут попасть в логи Postman через URL или параметры в самом запросе.
Если вам всё же нужно пользоваться Postman
Добавьте это в ваш файл /etc/hosts, чтобы аналитические эндпоинты, которые ведут журнал ваших секретов, перестали их получать:
127.0.0.1
bifrost-https-v4.gw.postman.com
127.0.0.1
bifrost-v4-global.gw.postman.com
Замечание об этике
Почему у разработчиков программного обеспечения нет своей версии клятвы Гиппократа? Скорее всего, Postman — не единственный инструмент, где сотрудники хранят ваши нешифрованные данные в незащищённых местах.
“Если же я соблюду эту клятву и не нарушу её, пусть мне всегда сопутствует уважение всех людей — и в жизни, и в искусстве. Но если я нарушу её или отрекусь от своих слов, пусть меня настигнет обратное.”
Ещё больше познавательного контента в Telegram-канале — Life-Hack - Хакер