Безопасность
Доказательство того, что Ваш браузер не является хранилищем.
Chrome и Firefox сохранят Ваши пароли, а затем передадут их любой программе, запущенной от Вашего имени. Это не ошибка. Это особенность дизайна. Вот доказательство: сначала простыми словами, затем в коде.
Версия простыми словами
«Менеджер паролей» Вашего браузера защищен ровно одним замком: входом в Ваш компьютер. Как только Вы вошли в систему на своем ноутбуке, браузер может мгновенно прочитать каждый сохраненный пароль — так же, как и любая другая программа, работающая под Вашей учетной записью.
Плохая загрузка. Сомнительная браузерная игра. Один зараженный пакет в проекте, который Вы клонировали. В тот момент, когда он запускается — пока Вы вошли в систему, как всегда — он читает каждый пароль, сохраненный Вашим браузером, за то время, которое требуется для открытия файла. Нет никакого мастер-пароля для взлома, потому что взламывать нечего: браузер был создан, чтобы автоматически разблокироваться для Вас, а вредоносное ПО просто вежливо просит, как «Вы».
Это не теоретические рассуждения. Это самый распространенный способ, которым обычные люди теряют свои учетные записи. Вредоносное ПО даже имеет скучное отраслевое название — «похитители информации» — потому что это настолько рутинно. Ваши пароли, Ваши сохраненные карты, Ваши сессионные cookie: скопированы и утеряны, прежде чем Вы это заметите.
Решение простое: Ваши пароли должны быть заблокированы чем-то, чего нет у остальной части Вашего компьютера — и они вообще не должны храниться на машине.
Версия с подтверждениями
Не верьте нам на слово. Chromium и Firefox — это открытый исходный код, и путь чтения задокументирован, стандартен и краток. Вот где именно находятся пароли и как они извлекаются.
Chrome (и все браузеры на базе Chromium)
Chrome хранит логины в базе данных SQLite — Login Data, таблица logins, столбец password_value — зашифрованные с помощью AES-256-GCM. Ключ AES находится в Local State, «защищенный» операционной системой: DPAPI в Windows, Keychain в macOS, gnome-keyring/kwallet (или в открытом виде) в Linux.
Прочитайте сами — код открыт. Найдите в Chromium константу, которая помечает обернутый ключ: kDPAPIKeyPrefix в os_crypt. Ключ обернут DPAPI, помечен и сохранен — затем разворачивается одним вызовом, который ничего не защищает от Вас:
const char kDPAPIKeyPrefix[] = "DPAPI";
CryptUnprotectData(&intermediate, /*ppszDataDescr=*/nullptr,
/*pOptionalEntropy=*/nullptr, nullptr, nullptr, 0, &output);Нет второго секрета, нет пароля, нет запроса. CryptUnprotectData возвращает ключ любому процессу, запущенному в Вашей сессии — что в точности соответствует модели угроз, описанной DPAPI: если он запущен от Вашего имени, то он и есть Вы. Вся задача злоумышленника состоит из трех строк: прочитать ключ из Local State, развернуть его, расшифровать AES-GCM каждую строку в Login Data. Вредоносное ПО типа «инфо-стилеры» делает это уже много лет.
«Шифрование на устройстве» тоже Вас не спасет
Решение Google — это 6-значный PIN-код, который шифрует Ваше синхронизированное хранилище. В мае 2026 года исследователи из Phishu показали, насколько это ненадежно. Убедительный поддельный вход в Google — фишинг «злоумышленник в середине» — перехватывает сессию и этот PIN-код, а PIN-код является мастер-ключом ко всем паролям и ключам доступа в синхронизированной учетной записи. С его помощью злоумышленник добавляет свое собственное устройство в Ваш «домен безопасности» Google, и все хранилище синхронизируется прямо к нему — полный захват учетной записи за один шаг.
Недостаток дизайна: Google позволяет устройству присоединиться только по 6-значному PIN-коду, без подтверждения с уже имеющегося у Вас устройства.
Firefox
Firefox хранит логины в logins.json, а ключ — в key4.db, расшифровываемый «Секретным декодирующим кольцом» NSS — также с открытым исходным кодом: security/nss/lib/pk11wrap/pk11sdr.c. Если Вы установили Основной пароль, ключ будет запечатан им.
По умолчанию Вы этого не сделали — поэтому ключ запечатан пустой строкой, а сохраненное значение «password-check» подтверждает, что пустой пароль его расшифровывает. Скопируйте два файла из Вашего профиля (key4.db + logins.json), направьте на них NSS или открытый исходный код firepwd.py, и они расшифруются. Замок, ключ от которого приклеен к двери, — это не замок.
Каждое хранилище паролей браузера имеет одинаковую структуру: секрет находится там, где Вы работаете, разблокированный сессией, в которой Вы уже находитесь. Шифрование, которое может отменить остальная часть Вашего компьютера, не защищает Вас от угрозы, которая фактически опустошает учетные записи — кода, запущенного от Вашего имени.
Почему Clavitor нельзя прочитать таким образом
Clavitor не хранит Ваше хранилище на машине. Нет Login Data, нет key4.db, нет ключа в Local State — ничего на диске, что мог бы извлечь процесс, запущенный от Вашего имени.
Ключ шифрования не запечатан Вашим логином в ОС. Он выводится из аппаратного касания — Touch ID, Face ID или YubiKey — вычисляется в браузере, используется для одного запроса, а затем отбрасывается. Учетные данные извлекаются через ограниченный API ровно тогда, когда Вы их запрашиваете, и никогда не кэшируются. Вредоносное ПО, запущенное от Вашего имени, обнаружит пустой шкаф.
В этом разница между «зашифровано на Вашем устройстве» и «вообще не на Вашем устройстве».
Прекратите доверять браузеру Ваши пароли.
Расширение Clavitor заполняет поля так же, как Ваш браузер — и хранит хранилище там, где Ваш ноутбук не может его прочитать.