Chrome扩展静态分析工具,可进行安全性审查:tarnish

tarnish Chrome扩展安全分析

tarnish是一种静态分析工具,可帮助研究人员评估Chrome扩展程序的安全性。它可以自动完成许多常规的繁琐工作,并帮助您快速识别潜在的安全漏洞。

以往检查Chrome扩展安全性都是手动查看源码查审计的,现在tarnish为我们提供了一个参考,让这项工作变得更简便高效。

Chrome扩展安全漏洞例子:Reddit Enhancement Suite(RES)扩展中的跨站点脚本(XSS)漏洞,该漏洞允许被蠕虫利用,名当时有150万用户或造成数据泄露或可能被攻击。近期也有《这8个浏览器扩展程序窃取了超过400万用户的网络浏览历史记录,快卸载!》等。

Chrome扩展静态分析工具,可进行安全性审查:tarnish

功能特征

从提供的Chrome网络商店链接中提取所有Chrome扩展程序。

  • manifest.json 查看器:仅显示扩展清单的JSON修饰版。
  • 指纹分析:检测web_accessible_resources并自动生成Chrome扩展指纹JavaScript。
  • 潜在的点击劫持分析:使用web_accessible_resources指令集检测扩展HTML页面。根据页面的目的,这些漏洞可能容易受到点击劫持。
  • 权限警告查看器:显示所有Chrome权限提示警告的列表,这些提示将在用户尝试安装扩展程序时显示。
  • 危险功能:显示可能被攻击者利用的危险功能的位置(例如,诸如innerHTML,chrome.tabs.executeScript之类的功能)。
  • 入口点:显示扩展在何处接受用户/外部输入。这对于了解扩展程序的表面积以及寻找潜在点以将恶意制作的数据发送到扩展程序很有用。
  • 危险功能扫描器和入口点扫描器均具有以下为其生成的警报:
    • 引起警报的相关代码段和行。
    • 问题说明。
    • 单击“查看文件”按钮以查看包含代码的完整源文件。
    • 警报文件的路径。
    • 警报文件的完整Chrome扩展程序URI。
    • 文件的类型,例如“背景页面”脚本,“内容脚本”,“浏览器操作”等。
    • 如果易受攻击的行位于JavaScript文件中,则包含该行的所有页面的路径以及这些页面的类型和web_accessible_resource状态。
  • 内容安全策略(CSP)分析器和绕过检查器:这将指出扩展程序CSP中的弱点,并且还将阐明由于CDN列入白名单等而导致绕过CSP的任何潜在方法。
  • 已知漏洞库:这使用Retire.js来检查已知漏洞JavaScript库的任何使用。
  • 下载扩展名和格式化版本。
  • 下载原始扩展名。
  • 下载扩展的美化版本(自动美化的HTML和JavaScript)。
  • 第一次运行扩展扫描时,自动缓存扫描结果会花费大量时间。但是,第二次假设扩展名尚未更新,由于要缓存结果,因此几乎是第二次。可链接的报告URL,可轻松将其他人链接到由tarnish生成的扩展报告。

安装与使用

体验盒子在查看相关文档后发现,要自行安装该工具安装略麻烦(需要S3 bucket/docker/redis等)使用起来倒是很简单,同时该工具随附研究博客文章。如果您不想麻烦设置此功能,可以在https://thehackerblog.com/tarnish/上使用该工具(推荐)。

如果你依然希望自行部署该工具,查看说明