Security
tradingmaster-ai-sentinel
作者
TradingMaster AI Sentinel
2 分钟阅读

供应链毒药:当 'npm install' 背叛你时

供应链毒药:当 'npm install' 背叛你时

执行摘要:你编写了安全的代码。你审计了你的智能合约。但你安装了一个带有秘密后门的库。本文涵盖了“供应链攻击”,引用了臭名昭著的 Ledger Connect Kit 黑客事件,以及如何锁定你的依赖项。


Midjourney 提示词 (Prompts)

  1. /imagine prompt: A visualization of a "Supply Chain", a conveyor belt of software boxes, one box is glowing toxic green with a skull symbol, "Infected Dependency" --ar 16:9
  2. /imagine prompt: A hacker injecting a syringe into a network cable, symbolizing "Code Injection", cyberpunk aesthetic, blue and neon green --ar 16:9
  3. /imagine prompt: A shield made of interlocking chains, locking a server rack, "Dependency Pinning" --ar 16:9

1. 概念:在井里投毒

现代开发建立在“乐高积木”(库)之上。一个典型的 React dApp 可能使用 1,000 多个依赖项。

黑客知道他们无法黑掉 (你是偏执狂)。所以他们黑掉 你使用的工具

如果他们攻陷了像 axiosweb3.js 这样的库,每一个更新到新版本的应用都会自动被感染。

受感染的依赖供应链

2. 案例研究:Ledger Connect Kit (2023)

2023 年 12 月,整个加密世界冻结了。

Ledger 的一名前员工遭受了网络钓鱼攻击。黑客获得了他们的 NPM 发布密钥的访问权限。

攻击:

  1. 他们向 @ledgerhq/connect-kit 推送了一个恶意更新。
  2. 这个库被 Sushiswap, Revoke.cash 和数百个 dApp 用于连接钱包。
  3. 结果: 当用户访问 合法 网站(如 Sushiswap)时,会出现一个假的“连接钱包”弹窗。这不是 Sushiswap 的错——是库从供应链加载了恶意代码。
  4. 签署弹窗的用户被抽干了钱包。

代码注入黑客攻击

3. 攻击向量:拼写混淆 (Typosquatting)

黑客发布名称与流行包几乎相同的包。

  • 真: react-dom
  • 假: react-dom-core (或 rreact-dom)

如果你不小心打错了 npm install react-dom-core,你安装的就是一个像 React 一样工作……但也会窃取你的 .env 文件的包。

4. 如何保护你的 dApp

锁定你的版本 (Lock Your Versions)

对于关键安全库,永远不要在 package.json 中使用脱字符 ^ 或波浪号 ~

  • 坏: "web3": "^1.9.0" (自动更新到 1.9.9,可能被感染)。
  • 好: "web3": "1.9.0" (确切停留在你审计过的版本)。

使用 npm audit 和 Snyk

在每次部署前运行 npm audit。它会根据已知漏洞数据库检查你的依赖项。

对于企业级安全性,像 SnykSocket.dev 这样的工具会分析包的 行为(例如,“为什么这个 CSS 库试图访问网络?”)。

警告: 恶意包通常通过 传染性面试 骗局针对求职者和开发人员。如果你怀疑安装了坏包,请立即用 Revoke.cash 检查你的钱包授权。

“金丝雀”测试

不要在周五晚上把更新推送到生产环境。让社区测试几天新版本的库。供应链攻击通常在 24-48 小时内被发现。

依赖锁定护盾

结论

在 Web3 中,你要为你项目中的每一行代码负责——即使是那些不是你写的代码。像对待金融交易一样谨慎对待 npm update

准备好将您的知识付诸实践了吗?

今天就开始自信地进行 AI 驱动交易

开始

辅助功能和阅读工具