Как написать безопасный плагин NPAPI, который будет взаимодействовать только с определенным расширением Chrome? - PullRequest
0 голосов
/ 27 августа 2011

Я хочу написать расширение Chrome, которое будет автоматически (без взаимодействия с пользователем) читать и загружать файл из локального хранилища на основе какого-либо события. Я понимаю, что это невозможно напрямую из-за модели безопасности Интернета и браузеров.

После исследования в Интернете я обнаружил, что этого можно достичь с помощью плагина NPAPI. Из того, что я понимаю, я могу написать расширение chrome, которое будет взаимодействовать (через NPRuntime API) с плагином NPAPI и запрашивать файл для загрузки. Плагин получит файл и ответит данными файла.

Вопрос 1. Является ли архитектура, задуманная выше, разумным / эффективным способом решения моей задачи?

Если это так, то я беспокоюсь о безопасности этого метода.

Вопрос 2: Поскольку мой плагин будет считывать (и, возможно, записывать) что-либо из (и) локального хранилища, как бы я кодировал его безопасным способом, чтобы он не использовался другими вредоносными сайтами / расширениями? Мой плагин должен работать только с моим расширением, а не с любым другим сайтом / расширениями. Как бы я этого достиг? Другими словами, какие меры я должен предпринять, чтобы обеспечить взаимодействие между моим расширением chrome и плагином NAAPI, чтобы не было места для злонамеренных атак?

1 Ответ

2 голосов
/ 27 августа 2011

Несколько пользователей FireBreath создали плагины с FireBreath для использования с Chrome и упаковали их в расширения Chrome (CRX). Если вы сделаете плагин "приватным" внутри расширения, то плагин может использовать только это расширение Chrome. Обратите внимание, что другие браузеры не поддерживают этот метод.

Конечно, вы можете сделать то же самое с любым другим плагином NPAPI, но FireBreath экономит вам массу времени, когда вам не нужно все реализовывать самостоятельно.

...