Обратились ко мне с просьбой, проверить работу Passbolt. Жалоба: перестали сохраняться пароли.
Passbolt — это open-source решение для разворачивания self-hosted хранилища паролей.
Рана или поздно любая IT команда сталкивается с проблемой хранения и обмена паролями. Passbolt позволяет на собственных мощностях развернуть хранилище секретов. Близким по функционалом решением можно назвать Vaultwarden.
Сначала я скептически отнёсся к задаче. Данный софт разворачивать не приходилось, поэтому найти проблему казалось затруднительным. Однако, всё стало понятно в первые минуты. Я быстро зарегистрировался в системе, создал пароль "123", всё прошло без проблем. Для окончательной проверки я попытался сгенерировать пароль посложнее, сохранил, и пароль не сохранился, всё подвисло.
Я нажал и всё сломалось!
Быстрый дебаг в браузере показал, что страничка https://api.pwnedpasswords.com/range/123cd загрузилась не полностью.
CAUTION: request is not finished yet!
Более подробное тестирование показало, что страничка то грузится, то не грузится по таймауту.

Have I been pwned?
Данное API принадлежит сервису "Have I been pwned" (HIBP). Passbolt при сохранении пароля в обязательном порядке проверяет пароль на утечки. И меня очень сильно удивило то, что возможность отключить данный функционал отсутствует. Эй, разработчики! Это же self-hosted решение, оно должно работать и без Интернет!
Сам сайт https://haveibeenpwned.com/ тоже грузится частично.

Через VPN API открылось без проблем.

Поведение, когда страничка без VPN грузится частично, а потом блокируется или шейпится, очень похоже на работу систем ТСПУ, непонятно с какой стороны.
Обращение к API HIBP, возможно, происходит в соответствующем расширении браузера, вряд ли удастся найти в коде Passbolt то место, где можно отключить запросы, а то можно было бы ограничение в 8 символов как-то увеличить. Короткие пароли не проверяются на утечки:
https://www.passbolt.com/incidents/pwned-password-service-information-leak
Пока ситуацию спасает то, что при долгом ожидании пароль всё-таки может сохраниться. Когда-нибудь:

А иногда соединение дропается.

Как раз в процессе проверки на утечки.

Здесь можно предложить в качестве альтернативы сохранять пароль в поле заметок, оно на утечки не проверяется.
