我有一个类似
的脚本// ==UserScript==
// @grant GM_getValue
// @grant GM_setValue
// @include *
// @run-at document-start
// ==/UserScript==
var foo = GM_getValue('foo');
var _open = unsafeWindow.open;
unsafeWindow.open = function(){
if( /* Something */ ){
_open();
}
setTimeout(function() {
GM_setValue('bar', 'bar');
}, 0);
}
可能是恶意网站
window.open
var _open = unsafeWindow.open
添加一个getter以执行恶意代码
window.open
unsafeWindow.open = /*...*/
添加一个setter以执行恶意代码
window.open
替换为恶意函数,我将在使用_open()
时执行恶意网站是否会获得使用GM_getValue
或GM_setValue
或我脚本中定义的变量(如foo
)的权限?