如何审核Chrome扩展程序的开源代码?

nic*_*way 6 ubuntu google-chrome-extension firefox-addon-webextensions

我担心chrome扩展程序为用户提供的代码与其开源回购中的代码不同。扩展名为MetaMask,这是一种加密货币钱包,最近发现它正在向用户访问的每个网站注入唯一的标识符,尽管他们并未这么做。我现在听说,MetaMask也可以充当DNS解析器,这对于欺骗性应用程序而言具有强大的功能。

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

jan*_*iks 5

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


步骤1:获取附带的源代码

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

    find ~ -type d -iname <extension_id> (填写扩展ID)

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

第2步:自行构建源代码

  1. 通过git(git clone git@github.com:MetaMask/metamask-extension.git)克隆源代码
  2. 遵循扩展程序构建指南中的步骤

步骤3:比较两者

  1. diff在两个文件夹上递归运行。folder1可能是出厂的源代码,而folder2可能是您自己构建的源代码。

    diff -r folder1/ folder2/

  2. diff将为您提供代码/文件/等的确切区别。这可能很多,必须手动检查,以找出真正的区别是什么...


附言:我对结果非常感兴趣,稍后将自己进行比较...