Смысл веб-доступных ресурсов в том, чтобы иметь возможность включать их в веб-контекст.
Несмотря на то, что вы можете сообщить случайный UUID на веб-странице, чтобы он мог использовать файл, он не должен быть включен самим кодом веб-сайта. Вот гипотетический сценарий:
Вы пишете расширение, которое добавляет кнопку в пользовательский интерфейс evil.com
сайта. На этой кнопке должно быть изображение.
Вы связываете изображение с вашим расширением, но чтобы добавить его как src
или свойство CSS к веб-странице, вам необходимо иметь возможность ссылаться на него из веб-контекста.
Итак, вы делаете его доступным через Интернет, а затем внедряете в свой элемент пользовательского интерфейса скрипт содержимого.
Совершенно правдоподобный сценарий.
Обратите внимание, что случайный сторонний сайт villains-united.com
не может просто очистить URL-адрес, чтобы узнать, установлено ли ваше расширение, поскольку URL-адрес уникален для каждого браузера. Это намерение, стоящее за UUID WebExtensions над моделью Chrome extension-id.
Однако давайте продолжим наш гипотетический сценарий с точки зрения безопасности.
Операторы evil.com
недовольны вашим дополнительным пользовательским интерфейсом. Они добавляют в свой код скрипт, который ищет добавленные кнопки.
Этот скрипт может видеть свойства DOM кнопки, включая адрес изображения. Теперь код evil.com
может видеть ваш UUID.
Будучи хорошим парнем, исходный код вашего расширения доступен где-то, включая страницу, которая запускает ядерные ракеты, если она вызывается (зачем вам это нужно и почему она будет доступна через Интернет, это другой вопрос, возможно, для обеспечения функциональности good-guys-last-resort.org
).
Скрипт
evil.com
теперь может восстановить URL этой триггерной страницы и XHR, погрузив планету в ядерный апокалипсис. К сожалению. Вы, вероятно, должны были проверить происхождение этого запроса.
В основном, если доступный из Интернета ресурс используется на странице, UUID, вероятно, просачивается в контекст этой страницы через DOM. Возможно, это не та страница, которой вы управляете.