BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

Angular 1.X在Firefox扩展开发中遭禁用

| 作者 David Iffland 关注 4 他的粉丝 ,译者 谢丽 关注 9 他的粉丝 发布于 2016年10月28日. 估计阅读时间: 3 分钟 | Google、Facebook、Pinterest、阿里、腾讯 等顶尖技术团队的上百个可供参考的架构实例!

在经过了艰苦的工作之后,bitwarden团队发现,他们用来构建Firefox扩展的技术——Angular 1.5.8——已经遭到禁用。

在一项Bug报告中,该团队表示,他们希望将其扩展带到Firefox(在Chrome中已经可用),但是因为Angular 1.5.8的存在被插件linter给拒绝了。他们使用了一个特定的版本,但事实证明,Angular 1.X的每个版本都在Firefox扩展开发中遭到了禁用。

这不见得是Angular的漏洞,更多的是和Angular 1.X及其他库与Firefox扩展系统及已经加载到浏览器的页面的交互方式有关。来自Angular团队的Martin Probst描述了这个问题

Angular本身没有问题,转义或求值本身都没有问题。

不过,有一种极端情况,Angular的存在可能会弱化某些安全指标。那需要多个问题同时出现,包括受攻击的页面本来就存在漏洞。我不太清楚,Mozilla是否考虑过那个问题,但那确实是个问题。我们会在Angular内部增加一些防护措施来缓解这种情况,但我认为,这是一个如何处理扩展的一般性问题,而不限于Angular。

使问题复杂化的是,Firefox知道Angular遭禁用,但他们没有和谷歌共享这一信息。来自Mozilla的Andreas Wagner表示,他们是有意为之:

很遗憾,我们没能将它们报告给Angular团队,因为发现它们的安全研究人员要求我们不要共享它们。

现在还不清楚,为什么该研究人员没有直接联系Angular团队。

社区里有些人对此大为恼火,但是,上述不知名字的研究人员现在已经和谷歌取得了联系,修复程序已经在开发之中。大部分讨论都指向Angular 1.X中一个名为“表达式沙箱(Expression Sandbox)”的特性。谷歌已经决定,在1.6版本中移除表达式沙箱。但Probst表示,该沙箱不是Angular 1.X遭到禁用的原因

  • 通过和该研究人员交流,我们现在对根本问题有了更好的了解。
  • 那个问题和绕过沙箱无关。
  • 存在一个安全问题(优先级不是特别高)。那个问题真的不是Angular所特有的,但Angular让它更容易被利用。
  • 我们确信,Angular和Firefox之间的问题会得到缓解。我正在开发一个修复程序。

在修复程序推出以前,开发人员将无法交付使用了Angular 1.X的Firefox扩展。

查看英文原文:Angular 1.X Usage Banned in Firefox Extensions

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT