Безопасность
Parla работает с вашим микрофоном, поэтому он устроен так, чтобы им было трудно злоупотребить. Ваш голос никогда не покидает устройство, расширение просит как можно меньше прав, а каждая часть кода, которую мы выпускаем, закреплена, просканирована и протестирована, прежде чем попасть к вам.
Пока вы пользуетесь Parla
- Голос очищается на вашем устройстве, внутри браузера. У Parla нет сервера, который принимал бы звук, и нет аккаунтов или паролей, которые можно украсть.
- Движок — наш собственный код, написанный на Rust без сторонних библиотек, и он работает как WebAssembly в песочнице браузера. Модели ИИ — это данные (числа), а не программы: никакой код авторов моделей на вашем компьютере не выполняется.
- Расширение просит только то, что нужно для очистки микрофона: хранить свои настройки и работать на страницах, где вы пользуетесь микрофоном. Его собственные страницы выполняют только свои скрипты (строгая политика безопасности контента, Content Security Policy).
- Веб-страницы обращаются к расширению только через узкий канал: они получают файлы движка и ничего больше, а всё, что они отправляют, проверяется и ограничено по размеру.
- Отчёты выключены, пока вы их не включите. Они анонимны, и каждое поле описано в нашей документации.
От нашего кода до вашего браузера
- Всё, что использует сборка, закреплено на точной версии и проверяется по отпечатку: GitHub actions — по коммиту, образы контейнеров — по digest, загрузки — по SHA-256, пакеты npm и Python — по lock-файлу.
- Ни один выпуск моложе 3 дней не попадает в сборку. Большинство вредоносных версий пакетов обнаруживают и удаляют за несколько дней, поэтому мы даём их сначала поймать. Автоматические обновления ждут неделю, и каждое собирается и тестируется, прежде чем его примут.
- Пакетам никогда не разрешается запускать установочные скрипты, а подписи реестра npm проверяются при каждой сборке.
- Выпуски собирает только наш автоматический конвейер, из основной ветки. Учётные данные магазинов и npm хранятся в защищённом окружении, которым может пользоваться только шаг выпуска, а сборка не сохраняет токен доступа к репозиторию.
Проверяется при каждом изменении
- Статический анализ: CodeQL читает TypeScript, движок на Rust и процессы сборки (workflows); zizmor проверяет workflows.
- Динамическое сканирование сайта (OWASP ZAP) при каждом изменении и каждую неделю.
- Изменение, добавляющее пакет с известной уязвимостью, блокируется, а оповещения Dependabot следят за каждым lock-файлом.
- Поиск секретов с защитой при push: GitHub отклоняет любой коммит, содержащий пароль или ключ.
- Строго типизированный код (TypeScript и Python) и автоматические тесты в Chrome и Firefox перед каждым выпуском.
Нашли проблему?
Пожалуйста, сообщите нам конфиденциально: сообщить об уязвимости на GitHub. Так её можно исправить до того, как она станет публичной.
Всё на этой странице можно проверить: код, конвейер сборки и проверки безопасности открыты. Как собираются и проверяются выпуски