每个月,MetaMask 安全总监 Luker 都会报告您需要了解的最新加密攻击和新兴风险。
2022 年 10 月,Endo 项目发布了 SES v0.17.0,带来了期待已久的"四重后空翻"求值器重构,使 LavaMoat 得以放弃其自定义 SES 补丁,而 LavaMoat 本身也新增了全局清除(global scuttling)功能和编程式 API。在威胁方面,Socket.dev 披露了 npm bin 脚本混淆问题——这是一种通过软件包的 bin 字段劫持合法 CLI 命令的供应链攻击技术——而 @lavamoat/allow-scripts 已具备缓解此类攻击的能力。MetaMask 还在波哥大举办的 Devcon VI 上发表了两场安全演讲,发布了 Gal Weizman 关于 JavaScript realms 的深度解析文章,并吸引了逾 4,000 名参与者加入社区安全基础知识电话会议。完整详情如下,但首先……
精选 STEM 先驱:Frances Allen,编译器优化领域的先驱
Frances Allen(1932–2020)是一位美国计算机科学家,她开创了编译器优化领域——即自动转换代码以使其运行更快、更高效的科学——并在 IBM 工作数十年间为程序分析和并行计算做出了奠基性贡献。2006 年,她成为首位荣获 ACM 图灵奖的女性。Allen 所开创的对程序编译和执行方式的深入分析,正是 SES 和 LavaMoat 等工具用于推理、隔离和约束不可信代码的同一基础。
SES v0.17.0 发布,带来针对 Endo 的"四重后空翻"求值器重构
Endo 项目发布了 SES v0.17.0,其中包含将 SES shim 求值器重构为多层作用域栈的"四重后空翻"重构。此次重构修复了作用域代理可能泄漏的问题,并将全局作用域处理中的不同关注点分离为独立层级。一个关键的下游收益是:LavaMoat 现在可以直接使用未经修改的 SES shim,无需维护自己的补丁。与此同时,将 LavaMoat 风格的策略引入 Endo 的 compartment mapper 的并行工作也在持续推进,当前的概念验证支持对每个软件包的全局变量和内置模块进行精细控制,包括对内置 API 的编程式削减。
Socket.dev 披露 npm bin 脚本混淆作为供应链攻击向量
安全研究公司 Socket.dev 发布了一份披露报告,揭示了 npm bin 脚本混淆技术——恶意 npm 软件包利用其 bin 字段遮蔽或劫持合法 CLI 命令(包括 node 本身)——当其与受信任的软件包一同安装时即可触发。此攻击比典型的供应链攻击更难被检测,因为它利用的是 npm 软件包链接中的设计行为,而非向现有模块注入恶意代码。GitHub 的立场是该行为属于设计预期。LavaMoat 的 @lavamoat/allow-scripts 已具备缓解此类攻击的能力,通过控制哪些软件包被允许运行安装脚本来实现防护。
LavaMoat 引入全局清除功能和编程式 API
LavaMoat 在 2022 年 10 月发布了 3 项关键更新。全局清除(global scuttling)功能会捕获基于策略的赋权所需的全局引用,然后从全局作用域中移除原始引用,防止软件包意外传递对强大 API 的间接引用。新的编程式 API(require('lavamoat'))允许开发者将 LavaMoat 直接集成到 Node.js 应用程序和脚本中,而不仅仅作为 CLI 工具使用。@lavamoat/allow-scripts 的最新版本还新增了对配置基于 Yarn 3 项目的开箱即用支持。
MetaMask 在波哥大 Devcon VI 上发表两场安全演讲
2022 年 10 月,MetaMask 在哥伦比亚波哥大举办的 Devcon VI 上发表了 2 场以安全为主题的演讲。Antonela Debiasi 在主舞台上发表了"Web3 中的可用安全性"演讲,探讨了在自托管钱包设计中平衡安全性与可用性以支持更广泛采用的挑战。Kumavis(MetaMask 联合创始人兼安全研究负责人)发表了"攻击者在内部:JavaScript 供应链安全与 LavaMoat"演讲,介绍了 LavaMoat 如何防御加密生态系统中的 JavaScript 供应链攻击。
Gal Weizman 发布关于 JavaScript realms 与浏览器安全的深度解析
LavaMoat 贡献者 Gal Weizman 发布了"JavaScript 中的 realm 是什么?",这是一篇关于 JavaScript 程序运行所在执行环境的技术深度解析文章。文章解释了攻击者如何利用 iframe 创建的 realm 来访问未被篡改的原生 API,从而绕过应用于顶层窗口的安全策略——这正是 LavaMoat 的 Snow 工具所要解决的攻击面。
MetaMask 社区安全基础知识电话会议吸引逾 4,000 名参与者
MetaMask 社区团队主办了一场安全基础知识电话会议,涵盖自托管钱包用户的基础安全实践。逾 4,000 名参与者参加了此次直播会议,内容涵盖助记词安全、钓鱼识别和交易验证等主题。
MetaMask 2022 年 10 月加密安全报告涵盖了 SES v0.17.0 发布带来的"四重后空翻"求值器重构、Socket.dev 披露的利用 npm 软件包链接设计的 npm bin 脚本混淆供应链攻击向量,以及 LavaMoat 引入全局清除功能以防止对强大 API 的间接引用泄漏。浏览往期 MetaMask 加密安全报告,了解更多威胁、趋势以及在整个生态系统中保持安全的建议。