Как написать безопасный плагин NPAPI, который будет взаимодействовать только с определенным расширением Chrome?
Я хочу написать расширение Chrome, которое будет автоматически (без взаимодействия с пользователем) читать и загружать файл из локального хранилища на основе какого-либо события. Я понимаю, что это невозможно напрямую из-за модели безопасности Интернета и браузеров.
После исследования в Интернете я обнаружил, что этого можно достичь с помощью плагина NPAPI. Из того, что я понимаю, я могу написать расширение chrome, которое будет взаимодействовать (через NPRuntime API) с плагином NPAPI и запрашивать файл для загрузки. Плагин получит файл и ответит данными файла.
Вопрос 1: Архитектура задумана выше разумного / эффективного способа решения моей задачи?
Если так, то моя забота о безопасности этого метода.
Вопрос 2: Поскольку мой плагин будет считывать (и, возможно, записывать) что-либо из (и) локального хранилища, как бы я кодировал его безопасным способом, чтобы он не использовался другими вредоносными сайтами / расширениями? Мой плагин должен работать только с моим расширением, а не с любым другим сайтом / расширениями. Как бы я этого достиг? Другими словами, какие меры я должен предпринять, чтобы обеспечить взаимодействие между моим расширением chrome и плагином NAAPI, чтобы не было места для злонамеренных атак?
1 ответ
Несколько пользователей FireBreath создали плагины с FireBreath для использования с Chrome и упаковали их в расширения Chrome (CRX). Если вы сделаете плагин "приватным" внутри расширения, то плагин может использовать только это расширение Chrome. Обратите внимание, что другие браузеры не поддерживают этот метод.
Конечно, вы можете сделать то же самое с любым другим плагином NPAPI, но FireBreath экономит вам массу времени, когда вам не нужно все реализовывать самостоятельно.