我正在开发chrome扩展程序,它是基于选项卡的,因此我在使用chrome.tabs
API。
有一个 master 选项卡,其中执行了我已验证的安全JS代码,它可以打开其他 child 选项卡,其中包含一些JS代码(未必已验证/安全)执行。
我需要控制打开的子标签的授权。 孩子标签应该只能使用chrome.tabs.sendMessage
发送消息。目前,在我的扩展程序中,他们可以访问chrome
和chrome.tabs
API的所有功能(移动选项卡,重复的选项卡,打开新窗口等),这是一个开放的XSS违反。
问题:是否可以限制新创建的标签的权限?还是默认情况下,所有选项卡都具有所有权利,并且没有办法对其进行控制?
请参见https://developer.chrome.com/extensions/tabs#method-create
我想要以下内容:
const tab = chrome.tabs.create({ restrictedMethods: ['chrome.tabs.sendMessage'] })
感谢您的帮助
答案 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
非常感谢您的帮助