跳转到主要内容

官方包

npm 的正式包名为 failproofai
npm install -g failproofai
# or
bun add -g failproofai

为什么我们持有这些别名

供应链攻击中,拼写抢注(typosquatting)是一种常见手段——恶意攻击者注册一个与热门包名仅有一个按键之差的包名,不知情的用户在安装时一旦输错,便会运行攻击者控制的代码,并获得完整的系统访问权限。这正是 Failproof AI 所要防范的威胁。 为消除这一攻击面,我们在 npm 上抢先注册了 failproofai 的所有常见拼写错误和格式变体。这些包名均无法被第三方注册。每个别名都是一个轻量代理,安装后会自动委托给真正的 failproofai 包。

已注册的别名

格式变体 —— “failproof ai” 的不同写法:
包名状态
failproof✅ 已发布
failproof-ai⏳ 等待 npm 审核
fail-proof-ai⏳ 等待 npm 审核
failproof_ai⏳ 等待 npm 审核
fail_proof_ai⏳ 等待 npm 审核
fail-proofai⏳ 等待 npm 审核
failprof* 拼写错误 —— “proof” 中缺少一个 o
包名状态
failprof✅ 已发布
failprof-ai✅ 已发布
failprofai⏳ 等待 npm 审核
fail-prof-ai⏳ 等待 npm 审核
failprof_ai⏳ 等待 npm 审核
faliproof* 拼写错误 —— ai 互换位置:
包名状态
faliproof✅ 已发布
faliproof-ai✅ 已发布
faliproofai⏳ 等待 npm 审核
为什么显示”等待审核”? npm 的防滥用政策会拦截那些在去除标点符号并经过相似度检测后与已有包名规范化为同一字符串的新包名。我们已联系 npm 支持团队,申请以防抢注为由保留这些名称,获批后将正式激活。
您可以通过以下命令验证任意已发布的别名均归我们所有:
npm info failproof
# Look for: "ExosphereHost Inc." in the maintainers field

别名的工作原理

每个别名包的工作方式如下:
  1. failproofai 列为依赖项——安装时会运行真正的包(包括其 postinstall 钩子配置)
  2. 暴露一个与自身同名的可执行文件(例如 failprof-ai),将所有参数代理转发给 failproofai 二进制文件
代理逻辑仅为两行 Node 脚本,没有任何业务逻辑、网络请求,也不会收集 failproofai 本身行为之外的任何数据。

如果您发现我们遗漏的包名

请在 exospherehost/failproofai 提交 issue,我们会及时注册。