如何查看/审核Chrome扩展程序的源代码?

问题描述 投票:0回答:3

我担心 Chrome 扩展程序为用户提供的代码与其开源存储库中的代码不同。该扩展程序是 MetaMask,这是一种加密货币钱包,最近被发现会向用户访问的每个网站注入唯一标识符,尽管它声称并非如此。我现在听说 MetaMask 还可以充当 DNS 解析器,这对于欺骗性应用程序来说非常强大。

从网上商店下载此 Chrome 扩展程序并将其哈希值与开源代码的构建进行比较的最佳方式是什么?是否有任何现有的 Chrome 扩展程序或网站可以让您更轻松地执行此操作,即直接将 github 存储库与 Chrome 网上商店上的内容进行比较?

ubuntu google-chrome-extension firefox-addon-webextensions
3个回答
9
投票

免责声明: 本指南假设使用 Chrome 和 UNIX 风格的操作系统。


第 1 步:获取源代码

  1. 转到
    chrome://extensions/
    并激活右上角的开发者模式
  2. 点击该扩展程序的详细信息,找到它的ID(它将是一长串随机字符)
  3. 找到您的 Chrome 配置文件的扩展文件夹

    find ~ -type d -iname <extension_id>
    (填写分机ID)

  4. find
    的结果将显示一个带有扩展名(很可能是压缩的)源代码的文件夹。

第 2 步:自己构建源代码

  1. 通过 git 克隆源代码 (
    git clone [email protected]:MetaMask/metamask-extension.git
    )
  2. 按照扩展中的步骤构建指南

第 3 步:比较两者

  1. 在两个文件夹上递归运行

    diff
    folder1 可以是附带的源代码,folder2 可以是您自建的源代码。

    diff -r folder1/ folder2/

  2. diff
    将为您提供代码/文件/等方面的确切差异。这可能很多,必须手动检查,以找出真正的差异......


P.S.我对结果很感兴趣,稍后会自己进行比较...


1
投票

2020 年对于 Chrome 扩展的可信度来说是糟糕的一年,但它也暴露了一些正在野外使用的恶意技术。最常见的是加载和执行动态脚本或在满足某些条件时有条件地执行混淆代码。

仅通过执行静态分析,您不太可能发现扩展程序是否是恶意的。否则,Chrome 应用商店会在提交时标记该扩展程序。我认为只有安全专家主导的 Chrome 扩展程序安全扫描才能真正确定扩展程序是否安全。


0
投票

在 Mac 上,转到

cd ~/Library/Application\ Support/Google/Chrome/Default/Extensions

© www.soinside.com 2019 - 2024. All rights reserved.