Comments 41
а как это расширение попадет в браузер? И что будет с security (риторический вопрос)?
+1
Как явствует из первого примера, библиотека js-ctypes будет доступна каждому такому расширению, которое подгрузит её с адреса «resource://gre/modules/ctypes.jsm» (адрес этот локальный).
Безопасность будет достигнута за счёт того, что эта библиотека доступна только для расширений (которые и без неё могут сделать всё что угодно), а не для сайтов большой и страшной Паутины.
Безопасность будет достигнута за счёт того, что эта библиотека доступна только для расширений (которые и без неё могут сделать всё что угодно), а не для сайтов большой и страшной Паутины.
+1
Ну мне кажется очень сложно будет такое применить безопасно)
-2
Вам кажется :)
+2
Минус-то обоснуйте. Один бес, расширения могут творить что угодно, а кроме как им, js-ctypes больше ничему не доступен. Ну и где тогда проблема?
+4
Расширения могут взаимодействовать с открытыми страницами. Были уже уязвимости в расширениях, с этим связанные. (В том числе в грязной обезьяне и фаербаге с выполнением любого кода в контексте расширения).
Например, расширение берёт какую-нибудь строку с открытой страницы и передаёт её в функцию WinAPI, которой надо явно указывать длину, и в результате переполнение.
Например, расширение берёт какую-нибудь строку с открытой страницы и передаёт её в функцию WinAPI, которой надо явно указывать длину, и в результате переполнение.
0
Я не минусовал) Увидим скоро, как окажется на самом деле) возможно вы и правы)
0
Прочитайте ещё раз, на что вы отвечали.
Плагины и сейчас могут всё.
Плагины и сейчас могут всё.
+1
Местный код — это пздц. Написал бы хотя бы «родной».
+6
Я что-то в тексте ни одной ссылки не могу найти. Где встречать-то?
0
Видимо в 3.7 ее можно загрузить вот так: resource://gre/modules/ctypes.jsm
Вообще, идея хорошая, с ее помощью можно будет еще больше частей Firefox'а переписать на Javascript.
Вообще, идея хорошая, с ее помощью можно будет еще больше частей Firefox'а переписать на Javascript.
+1
Плохая идея, негодная. С её помощью родится куча расширений, привязанных к операционной системе.
0
Уже сейчас можно запросто написать расширение, которое будет привязано к системе.
Разработка расширений для Firefox уже сейчас — рокет сайнс, еще больше ее усложнить уже кажется нереально, поэтому еще один стотысячный путь сделать что-то неправильно вряд ли усугубит ситуацию.
Разработка расширений для Firefox уже сейчас — рокет сайнс, еще больше ее усложнить уже кажется нереально, поэтому еще один стотысячный путь сделать что-то неправильно вряд ли усугубит ситуацию.
0
Насчёт запросто — не знаю. Каким образом? Привязаться к системным путям?
0
Коллега, у нас процентов 20 ошибок связаны с работой расширения на разных ОС. Пути и методы их формирования, конечно, первый путь, но обычно ошибки не так очевидны, связаны с различиями в управлении окнами, фокусом, скинами, выводом графики и пр.
0
Привет ActiveX!
-1
А вот ActiveX тут совсем непричем.
+2
В 1996-м году ActiveX тоже был секьюрным и всячески волшебным. А спустя 5 лет вы сами знаете что случилось. Сейчас FF займёт ещё 10% рынка и мы поимеем все «прелести» популярности. Только в этот раз счастье будет не только у пользователей Windows, но и у пользователей Linux и MacOS X.
И не надо рассказывать про то, что без рута ничего сделать нельзя — качать порно-траффик можно и под обычным юзером.
И не надо рассказывать про то, что без рута ничего сделать нельзя — качать порно-траффик можно и под обычным юзером.
-2
Вы путаете.
ActiveX — решение контекста пользовательской страницы. Но оно даже проектировалось не как шибко безопасное.
Firefox extension — решения контекста браузера.
Любой расширение для Firefox абсолютно не безопасно (об этом вас четко предупреждают при его установке), оно может выполнить абсолютно любое действие с правами самого браузера. Более того, расширение может ненароком добавить в ваш браузер уязвимость, которая позволит сторонним веб-страницам получить эти же самые права.
ActiveX — решение контекста пользовательской страницы. Но оно даже проектировалось не как шибко безопасное.
Firefox extension — решения контекста браузера.
Любой расширение для Firefox абсолютно не безопасно (об этом вас четко предупреждают при его установке), оно может выполнить абсолютно любое действие с правами самого браузера. Более того, расширение может ненароком добавить в ваш браузер уязвимость, которая позволит сторонним веб-страницам получить эти же самые права.
+3
Я не путаю. Уже были наработки на тему несанкционированной скрытой установки расширений. Учитывая возможности экстеншенов такая установка может выпонить заливку какого-то кода на комп и удаление расширения. В итоге пользователь вообще ничего не заметит.
-2
Может быть вы и не путаете, но логики в ваших словах точно не много. Перечитайте весь тред и обоснуйте ваши соображения об ущербе безопасности еще раз подробно.
+2
Расширения — изначально большая дырка. Теперь «портировать» известные мальвари будет ещё проще. А так ничего особенно не поменяется.
-2
Я воздержусь от оценки безопасности Firefox'а.
Но если представить гипотетическую угрозу, то сегодня на XPCOM было бы весьма удобно писать кросс-платфоменное «мальваре».
Но если представить гипотетическую угрозу, то сегодня на XPCOM было бы весьма удобно писать кросс-платфоменное «мальваре».
0
Весьма и весьма занятно…
+1
Вообще-то в 3.6 уже есть этот модуль.
resource://gre/modules/ctypes.jsm
resource://gre/modules/ctypes.jsm
let EXPORTED_SYMBOLS = [ "ctypes" ]; const init = Components.classes["@mozilla.org/jsctypes;1"].createInstance(); init();
0
Я человек далёкий от программирования, и смысл статьи, к сожалению, почти не уловил.
Возможно ли, с помощью описанного решения, подключить к лисе, например, библиотеки кодека H.264 и заставить лису при проигрывании ролика кодированного этим кодеком отображать его через тег <vidео> описанный в HTML 5? Просто временный костыль, до которого я сумел додуматься — довольно убогое решение, до которого я пока сумел додуматься.
Возможно ли, с помощью описанного решения, подключить к лисе, например, библиотеки кодека H.264 и заставить лису при проигрывании ролика кодированного этим кодеком отображать его через тег <vidео> описанный в HTML 5? Просто временный костыль, до которого я сумел додуматься — довольно убогое решение, до которого я пока сумел додуматься.
+1
ой мне кажется не туда они полезли… лучше бы увеличили нормальное апи для базовых функций
0
Еще примеры можно найти на сайте MDC.
+2
Постскриптум. Возможен вызов библиотеки с подбором расширения в зависимости от платформы. Согласно комментарию 4 к багу 518130, вот этот вызов:
var name = ctypes.libraryName("foo");
возвращает «foo.dll», или «libfoo.so», или «libfoo.dylib» (в зависимости от платформы). Он реализован в баге 577589. -2
Постскриптум. Пособие по заданию типов для js-ctypes: «Declaring types».
-2
Only those users with full accounts are able to leave comments. Log in, please.
Авторы расширений, хакеры браузера, встречайте js-ctypes