可以控制在Chrome扩展程序中创建的标签页/窗口的权限

时间:2018-08-07 10:23:42

标签: google-chrome google-chrome-extension

我正在开发chrome扩展程序,它是基于选项卡的,因此我在使用chrome.tabs API。

有一个 master 选项卡,其中执行了我已验证的安全JS代码,它可以打开其他 child 选项卡,其中包含一些JS代码(未必已验证/安全)执行。

我需要控制打开的标签的授权。 孩子标签应该只能使用chrome.tabs.sendMessage发送消息。目前,在我的扩展程序中,他们可以访问chromechrome.tabs API的所有功能(移动选项卡,重复的选项卡,打开新窗口等),这是一个开放的XSS违反。

问题:是否可以限制新创建的标签的权限?还是默认情况下,所有选项卡都具有所有权利,并且没有办法对其进行控制?

请参见https://developer.chrome.com/extensions/tabs#method-create

我想要以下内容:

const tab = chrome.tabs.create({ restrictedMethods: ['chrome.tabs.sendMessage'] })

感谢您的帮助

1 个答案:

答案 0 :(得分:0)

通过在扩展程序清单中将文件列为沙盒,可以阻止访问新标签页的public static final Event OWNERSHIPRENOUNCED_EVENT = new Event("OwnershipRenounced", Arrays.<TypeReference<?>>asList(new TypeReference<Address>() {}), Arrays.<TypeReference<?>>asList(new TypeReference<Address>() {})); ;

这样,它可以在隔离的环境中执行。

https://developer.chrome.com/extensions/manifest/sandbox https://developer.chrome.com/extensions/sandboxingEval

非常感谢您的帮助