ubuntu - 如何审核 chrome 扩展的开源代码?

标签 ubuntu google-chrome-extension firefox-addon-webextensions

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

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

最佳答案

免责声明: 本指南假定使用 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. 按照扩展 build guide 中的步骤进行操作

第三步:比较两者

  1. 运行 diff递归地在两个文件夹上。 folder1 可以是附带的源代码,folder2 可以是您自己构建的源代码。

    diff -r folder1/ folder2/

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


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

关于ubuntu - 如何审核 chrome 扩展的开源代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56199358/

相关文章:

Python cx_Oracle 错误

ubuntu - 在 Ubuntu 上的 VirtualBox 上的 Vagrant

javascript - Chrome 扩展程序 - "Port error: Could not establish connection. Receiving end does not exist"

javascript - 对 URL 的异步调用

javascript - Firefox WebExtension 选项页面 - 如何从 storage.local 保存/恢复首选项?

javascript - 未捕获的异常 : unknown (can't convert to string)

linux - 我可以在创建 rpm 时拥有多个内核版本的通用规范文件吗

ubuntu - 5.11.0 内核源代码中的 alloc_bootmem(...) 在哪里?

javascript - 将输入从 HTML 传递到 JS

javascript - 在 Javascript 中完全迭代/抓取 HTML 文档