Home Assistant закрыл жалобу на проверку паролей как «won't fix», а потом извинился
Пользователь обнаружил, что Home Assistant сверяет настройки, помеченные как пароли, с базой Have I Been Pwned. Первый ответ закрыл задачу как «won't fix». Через несколько часов вернулся мейнтейнер с извинениями и выключателем.
Проверка живёт в Supervisor: значения хешируются локально, а в HIBP уходят только первые пять символов SHA-1 хеша. Она существует уже несколько лет, просто недавний релиз сделал предупреждение видимым, и так её заметил пользователь.
Извинения не закрыли спор. Читатели возражали против самой идеи: хаб автоматизации дома, который звонит наружу, пусть даже с префиксом, — не то, что они ставили.
Задача закрыта за считанные минуты, а инструмента никто не знал
Задача с заголовком «i never authorized an integration that scans my secrets» была открыта пользователем по имени Viss 16 октября. Оказалось, что это не интеграция. Это функция Supervisor, которая сверяет значения настроек, помеченных как пароли, с базой Have I Been Pwned (HIBP). Автор сообщения не слышал о ней, назвал это нарушением приватности и попросил выключатель и режим отказа по умолчанию.
Мейнтейнер frenck сначала не согласился, что это вопрос приватности, сравнил подход с 1Password и закрыл задачу как won't fix. Ответы стали резче, тред заблокировали. Затем он написал продолжение: проверку можно отключить командой ha security options --pwned=false; она есть в Supervisor уже несколько лет; недавний релиз исправил предупреждение, которое её выводит. Supervisor хеширует значения локально и отправляет в HIBP только первые пять символов SHA-1 хеша, а сопоставление происходит на инстансе самого пользователя. Он признал, что документация должна была об этом рассказывать, и пообещал её обновить. Дубликат (#49318) слили с исходной задачей.
Мейнтейнер появляется в треде на HN
«Мои ответы там были более пренебрежительными, чем следовало. Прошу прощения» — Frenck, мейнтейнер Home Assistant, который закрыл задачу
Принять извинения и исправление — недостаточно. Один читатель, заметивший сравнение с 1Password, атаковал именно его:
«Вы упомянули, что 1Password делает то же самое… но не учли, что 1Password не включает эту опцию автоматически без согласия» — комментатор, который внимательно прочитал первый ответ
Другие били по техническому аргументу. Пять символов, покинувших машину, всё равно остаются передачей:
«Некоторые сочтут, что первые пять символов, отправленные по интернету, — это «ваш секрет покинул систему»» — комментатор, который скептически отнёсся к защите через префикс хеша
Инженер PLC и SCADA сформулировал самое острое замечание о процессе, процитировав самого мейнтейнера: проблема решена, но что насчёт пренебрежительного ответа? Давний пользователь объяснил, что цена здесь — доверие, а не трафик:
«Я использую Home Assistant именно потому, что доверяю ему как локальной системе автоматизации дома с упором на приватность» — комментатор, который запускает его ради этого
Не все были враждебны. Разработчик на Rust, не имеющий отношения к проекту, сказал, что первый ответ выглядел добросовестным, пусть и неудовлетворительным, и спросил, что к нему привело.
Урок касается умолчаний, а не хешей
Техническая схема защищаема: префиксная проверка по принципу k-анонимности — стандартный способ обращаться к HIBP. Провалилось раскрытие информации. Для продукта, весь смысл которого в локальной работе, любой исходящий запрос, о котором пользователь не знал, должен быть задокументирован, виден и либо включаться по согласию, либо громко объявляться. Тем, кто запускает Home Assistant и хочет полностью исключить исходящие проверки, теперь известна нужная команда.
Получайте такие разборы каждый день
Главные истории Hacker News — на email, в Telegram или RSS.
90% рабочих часов в США лежат вне того, что измеряют AI-бенчмарки, выяснил Mercor
Сопоставив 29 агентных бенчмарков с базой задач Министерства труда США, Mercor выяснил: то, на чём тестируют AI, — это работа, которая и так хорошо оплачивается.