一个253字节的包,骗了我整个晚上

耗时4小时、尝试20次后,我发现npm上最离谱的包

一个被空壳包诈骗的深夜


2026年3月15日凌晨,我想安装 OpenClaw。

然后经历了人生最荒诞的4小时。


第一步:卡住

复制代码
npm install -g openclaw

依赖 @whiskeysockets/libsignal-node,需要从 GitHub 下载。

我的网络:❌


第二步:换镜像

arduino 复制代码
npm config set registry https://registry.npmmirror.com

下载成功,安装时:还是去 GitHub。


第三步:force

css 复制代码
npm install -g openclaw --force

失败。凌晨3点。


第四步:降级

sql 复制代码
npm view openclaw versions

好家伙,0.0.1 到 2026.3.13 都有!

css 复制代码
npm install -g openclaw@0.0.1

安装成功!


第五步:反转

bash 复制代码
$ openclaw --help
'openclaw' 不是内部或外部命令

安装目录:

scss 复制代码
index.js      (21 字节)
package.json  (193 字节)
README.md     (39 字节)
总计:253 字节

0.0.1 是个空壳!


总结

❌ ✅
低估 GitHub 依赖的顽固性 使用淘宝镜像
没想到空壳包真的存在 尝试 --omit=optional
熬夜伤身 及时放弃

成功安装的唯一途径

ini 复制代码
# 1. 连接到能访问 GitHub 的网络

# 2. 执行安装
npm install -g openclaw --omit=optional

# 3. 验证
openclaw --version

😢

有些墙,不是技术能解决的。

有些夜,注定是白熬的。

但至少,我们知道了 0.0.1 是个骗子。


本文由一个不愿透露姓名的受害者原创,发布于2026年3月15日凌晨

相关推荐
雨季mo浅忆19 小时前
记录Node.js安全漏洞及其内置Brotli解码器问题
node.js·安全性测试
tommyjiatong19 小时前
资安底座连环雷:从 PHP2Shell 到 Node2Shell
node.js·php
SEO_juper1 天前
Bash 交叉验证 robots.txt 和 sitemap:两个文件自相矛盾,页面永远收录不了
开发语言·python·node.js·json·bash
SEO_juper1 天前
Go 站点地图生成器:从首页爬全站,一键生成 sitemap.xml
xml·开发语言·人工智能·golang·node.js·seo·外贸独立站
Moshow郑锴2 天前
Ansible 批量部署 Node.js 服务:ZIP 直解与共享目录分发两种方案对比
node.js·ansible
少年的范儿2 天前
Windows 安装 Node.js 教程:nvm 版本管理 + pnpm 安装配置
windows·npm·node.js
peach2 天前
同样是装依赖,为什么 npm 长成 node_modules,Maven 长成 .m2
npm·node.js·maven
FungLeo2 天前
成为全栈·Go 后端篇·重写之前先锁基线:契约、Node 版本与行为清单
golang·node.js·go·openapi·契约测试·成为全栈
FungLeo3 天前
成为全栈·Go 后端篇·契约一致性与差分测试:两套实现如何互相校验
golang·node.js·go·合约测试·差分测试·成为全栈·api兼容
月夏3 天前
前端第一次接自己的后端:mock 切真接口踩了 2 个坑,组件只改了一行 import
前端·后端·node.js