You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Chrome扩展中computed_hashes.json和verified_contents.json的作用与使用方法咨询

关于Chrome扩展中computed_hashes.json和verified_contents.json的详解

嘿,我来给你详细拆解Chrome扩展里这两个和哈希相关的文件,它们可是扩展安全机制里的关键角色:

1. 文件定义与核心作用

  • computed_hashes.json:这文件说白了就是扩展里所有文件的「数字指纹清单」——每一条记录对应一个文件的路径,以及用SHA-256这类哈希算法算出的对应哈希值。它的核心作用是记录扩展打包完成时所有文件的原始状态,相当于给每个文件盖了个唯一的“身份章”。
  • verified_contents.json:这个文件是哈希清单的「安全凭证」,一般包含了开发者或者Chrome官方签名后的哈希清单摘要,用来验证computed_hashes.json本身有没有被篡改。它就像给哈希清单加了一把锁,确保你看到的指纹清单是真的,不是攻击者伪造的。

2. 安全Chrome扩展中的用途

这俩文件在扩展安全里扮演着双重保障的角色:

  • 拦截篡改后的恶意扩展:Chrome加载扩展时,会自动把当前文件的哈希值和computed_hashes.json里的原始值做对比。一旦发现不匹配,就会直接拒绝加载——这能有效挡住第三方篡改扩展代码、植入恶意逻辑的操作。
  • 防止哈希清单本身被伪造:如果攻击者想绕过上面的校验,直接替换computed_hashes.json的内容,verified_contents.json就会发挥作用:Chrome会验证它的签名,确认哈希清单是原始的,没被篡改,相当于给安全校验加了第二层保险。
  • 构建信任体系:从Chrome Web Store下载的官方扩展,这两个文件是Chrome信任链的一部分,确保用户装的是开发者提交的原版扩展,不会被中途掉包。

3. 获取与使用方法

获取方式

  • 开发者视角:用Chrome官方的打包工具(比如开发者工具里的「打包扩展程序」功能,或者chrome-webstore-upload-cli这类命令行工具)打包扩展时,工具会自动生成这两个文件,并存放在扩展根目录的metadata文件夹里,完全不用手动创建。
  • 普通用户视角:找到已安装扩展的本地存储目录(Windows一般在%LOCALAPPDATA%\Google\Chrome\User Data\Default\Extensions\<扩展ID>\<版本号>,Mac在~/Library/Application Support/Google/Chrome/Default/Extensions/<扩展ID>/<版本号>),进入metadata文件夹就能找到它们。不过要注意,部分官方签名的扩展,这些文件可能会被加密处理,不一定能直接查看内容。

使用方法

  • 开发者日常操作:开发和打包时不用手动修改这俩文件,工具会自动维护。如果需要验证本地开发版本的完整性,可以写个简单脚本,读取computed_hashes.json里的哈希值,然后遍历扩展文件重新计算哈希做对比。
  • 安全验证场景:如果你怀疑某个扩展被篡改,可以先验证verified_contents.json的签名(需要用到对应开发者的公钥),确认computed_hashes.json是真实的,再逐一对比扩展文件的哈希值和清单里的记录,就能判断是否有文件被修改。

内容的提问来源于stack exchange,提问作者Xenz LSD

火山引擎 最新活动