别让你的 Clawdbot 裸奔
一份后续指南,涵盖运行可访问个人生活的 AI 助手的安全风险、最佳实践和加固步骤
在上一篇文章中,我将 Clawdbot 介绍为会主动向你发送消息的 AI 助手。它是一个运行在你消息应用中的主动管家,由 Claude 驱动,每月成本约 5 美元。这令人兴奋。感觉就像未来一样。
然后,我看到那个未来受到了残酷的现实检验。
1、警钟:数百个暴露的 Clawdbot 实例
2026 年 1 月,安全研究员 Jamieson O'Reilly 进行了一次例行的 Shodan 扫描。他的发现令人震惊:数百个 Clawdbot 实例完全暴露在公共互联网上。

不仅仅是暴露。完全被攻陷。
API 密钥。对话历史。用户与其 AI 助手之间的私人消息。在最坏的情况下,底层服务器的完整 root shell 访问权限(天哪!)。
"当我运行 whoami 时,它返回了 root," O'Reilly 报告道。
让这深刻地理解一下。某人的个人 AI 助手(那个知道他们日历、阅读他们邮件、管理智能家庭的助手)正以 root 权限运行,并且没有**认证。任何有网络浏览器的人都可以完全控制它。
能够访问你个人生活的 AI 助手,其安全性仅取决于其最薄弱的配置设置。
根本原因?代理错误配置。用户在 nginx 或 Caddy 反向代理后面运行 Clawdbot,这使得所有传入流量看起来都来自本地主机。
Clawdbot 的认证看到"本地"流量并放行。前门锁上了,有人把窗户开大了。
2、使 Clawdbot 不同之处
如果你没有读过我的第一篇文章,这里是快速版本:Clawdbot 是由 Peter Steinberger(PSPDFKit 创始人)创建的开源 AI 助手。它于 2026 年 1 月发布,迅速获得了超过 9,000 个 GitHub 星标。
与 ChatGPT 或 Claude 的 Web 界面不同,Clawdbot 生活在你的消息应用中。Telegram。WhatsApp。Discord。Slack。Signal。*甚至 iMessage。*它有两部分:网关(处理消息路由)和大脑(Claude AI 进行实际思考)。
杀手级功能?它可以主动向你发送消息。你的 AI 不等待被要求。它提醒你约会,跟进任务,注意你生活中的模式。
这也是为什么安全比典型的聊天机器人更重要。
传统 AI 助手是被动的。你问,它们答。攻击面仅限于你在那个时刻明确分享的内容。
Clawdbot 是主动的。它有持续的上下文。它可能有权访问你的日历、邮件、文件、智能家庭。它知道你的日程、联系人、习惯。它可以代表你采取行动。
信任层次如下:
- 所有者(你): 完全访问所有内容
- AI: 使用委派权限代表你行动
- 朋友: 你明确授予的有限访问权限
- 陌生人: 应该 零 访问权限
当这种层次结构崩溃时,当陌生人获得所有者级别的访问权限时,你不仅仅是泄露聊天日志。你可能会把你数字生活的钥匙交出去。
3、你可能没有使用的内置安全功能
研究这篇文章时让我感到沮丧的是:Clawdbot 实际上具有优秀的安全工程。代码库包括使用 crypto.timingSafeEqual 的时序安全认证,以防止时序攻击。它有可靠的提示注入保护,可以检测诸如"忽略以前的指令"之类的模式。默认情况下它绑定到本地主机。
问题不在于代码。问题在于用户不知道这些功能存在。
从这里开始。运行此命令:
# 这些命令都是有效且有文档记录的
clawdbot security audit
clawdbot security audit --deep
clawdbot security audit --fix
clawdbot security audit --deep --fix
这个内置的安全审计将扫描你的配置,识别漏洞,并提供自动修复。它检查暴露的端口、弱认证、过于宽松的设置和常见的错误配置。
最好的安全功能是你实际使用的功能。在继续阅读之前先运行 clawdbot security audit --deep --fix。*⚠️ 再次强调,如果你还没有运行上面的命令,就不要继续阅读。
4、5 分钟安全检查清单
你不需要了解密码学就可以保护你的 Clawdbot 实例。你需要将这些设置复制到你的配置文件中。
打开 ~/.clawdbot/clawdbot.json 并验证这些值:
// 文件:~/.clawdbot/clawdbot.json
// Clawdbot 的安全基线配置
{
// 网关设置
"gateway": {
"mode": "local",
"bind": "loopback",
"port": 18789,
"auth": {
"mode": "token",
"token": "你的长随机令牌在这里"
},
// 如果在 nginx/Caddy 后面运行则必需
"trustedProxies": ["127.0.0.1", "::1"]
},
// 每个频道的 DM 策略
"channels": {
"whatsapp": {
"dmPolicy": "pairing",
"groups": {
"*": { "requireMention": true }
}
},
"telegram": {
"dmPolicy": "pairing"
},
"discord": {
"dm": { "policy": "pairing" },
"guilds": {}
},
"slack": {
"dm": { "policy": "pairing" },
"channels": {}
}
},
// 全局组策略
"groupPolicy": "allowlist",
"groupAllowFrom": [],
// 代理沙箱设置
"agents": {
"defaults": {
"sandbox": {
"mode": "all",
"scope": "agent",
"workspaceAccess": "none"
}
}
},
// 提升的工具(shell 访问)- 保持限制性
"tools": {
"elevated": {
"allowFrom": []
}
},
// 带有编辑的日志记录
"logging": {
"redactSensitive": "tools"
}
}
每个设置防护的内容:
gateway.bind: "loopback" 保持 Clawdbot 仅监听本地主机。外部流量无法直接到达它。
gatewayauth.mode: "token" 要求所有 API 请求都有一个秘密令牌。没有它,任何可以到达端口的人都有完全访问权限。
channels.whatsapp.dmPolicy: "pairing" 意味着新设备必须通过具有限时代码(1 小时 TTL)的配对流程。没有陌生人滑入你 AI 的 DM。
groupPolicy: "allowlist" 防止你的机器人被添加到随机群聊中,它可能会在那里泄露信息。
requireMention: true 阻止机器人在群组中响应每条消息。它仅在明确调用时才激活。
sandbox.mode: "all" 在隔离中运行代理操作,限制出现问题时的影响范围。
最后,锁定你的文件权限:
chmod 700 ~/.clawdbot
chmod 600 ~/.clawdbot/clawdbot.json
这确保只有你的用户帐户可以读取包含你的 API 密钥和令牌的配置文件。
5、如果你正在反向代理后面运行
这就是 900 多个暴露实例的来源。请注意。
当你在 nginx 或 Caddy 后面运行 Clawdbot 时,所有传入请求看起来都来自 127.0.0.1(本地主机)。Clawdbot 看到"本地"流量并假设它是可信的。
它不是。
你需要告诉 Clawdbot 哪些代理地址是可信的,然后从转发的头中验证真实的客户端 IP。
{
"gateway": {
"trustedProxies": ["127.0.0.1", "::1"]
}
}
对于 nginx,确保你正确设置了转发的头:
location / {
proxy_pass http://127.0.0.1:18789;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
如何验证你没有暴露:
从你网络的外部(使用手机上的移动数据,或 VPN),尝试直接访问你的 Clawdbot 端口:
curl -v http://你的公共IP:3000/health
如果你得到响应,你有一个问题。你应该看到连接超时或拒绝。
如果你可以在没有认证的情况下从公共互联网访问你的 Clawdbot 实例,假设它已经被攻陷。
6、核心选项:Tailscale 集成
看,如果代理配置让你头晕,有一种更简单的方法:根本没有将 Clawdbot 暴露到互联网。
Tailscale 在你的设备之间创建一个私有网络。你的手机、笔记本电脑和服务器都获得只有你的设备可以到达的私有 IP 地址。没有端口转发。没有防火墙规则。没有错误的代理配置。
将你的 Clawdbot 绑定地址设置为你的 Tailscale 接口:
gateway:
bind: "tailnet"
现在 Clawdbot 只接受来自你 Tailscale 网络上设备的连接。即使有人知道你服务器的公共 IP,他们也无法到达 Clawdbot 端口。它在公共互联网上不存在。
这是实践中的零信任网络。不是试图保护一个可公开访问的服务,你使服务对任何尚未通过你网络认证的人不可访问。
对于非技术读者:将 Tailscale 想象为设备之间的私有隧道。你的 AI 助手生活在该隧道内。隧道外的人甚至看不到它的存在。

7、如果你已经暴露了怎么办?
如果你在 2026 年 1 月之前在反向代理后面使用默认设置运行 Clawdbot,假设已被攻陷。我知道这听起来很偏执。事实并非如此。
立即采取的行动:
- 轮换你的 Anthropic API 密钥。 登录 Anthropic 控制台并生成新密钥。删除旧的。
- 轮换任何其他 API 密钥 Clawdbot 有权访问(日历 API、邮件 API、智能家庭集成)。
- 更改你的 Clawdbot 认证令牌。 生成至少 32 个字符的新随机字符串。
- 审查你的对话历史以查找可能已被泄露的任何敏感内容。
- 检查你的 Clawdbot 管理界面中是否有未经授权的设备配对。
- 审计你的服务器以查找异常进程、cron 作业或 SSH 密钥,如果你有 root shell 暴露。
如何检查你是否受到影响:
在 Shodan 中搜索你的 IP 地址。如果你的 Clawdbot 实例出现在扫描结果中,某人可能已经对其进行过探测。
检查你的 Clawdbot 日志中是否有异常访问模式:
# 默认日志位置
grep -i "unauthorized\|failed\|unknown" /tmp/clawdbot/clawdbot-*.log
# 或使用内置 CLI(推荐)
clawdbot logs --follow
查找来自你不认识的 IP 地址的请求,特别是在 2026 年 1 月的暴露窗口期间。
8、更大的图景
Clawdbot 事件并非孤立事件。它是一种模式的一部分。
2024 年,研究人员发现 2380 万个秘密在 GitHub 上泄露,同比增长 25%。2025 年 1 月的 DeepSeek 数据库泄露泄露了超过一百万个日志条目,包括 API 密钥。Rabbit R1 出厂时在设备固件中硬编码了 OpenAI 和 ElevenLabs 密钥。
LLMjacking 攻击(罪犯窃取 AI API 凭证以运行他们自己的工作负载)可能会给受害者造成每天高达 46,000 美元的计算费用。2025 年 11 月出现了第一个有记录的 AI 协调的网络间谍活动。
安全研究员 Simon Willison 将提示注入称为*"AI 时代的 SQL 注入。"*我们正处于了解如何保护系统(AI 本身可以被操纵)的早期阶段。
我们正在构建了解我们一切的 AI 助手,然后以好像仍然是 2010 年的方式保护它们。

加拿大航空聊天机器人诉讼应该让所有人都停下来思考。一位客户在公司 AI 提供了关于丧亲票价的不正确信息后赢得了案件。法院认定加拿大航空对其 AI 所说的内容负责。
现在想象一下,这种责任适用于有权访问你的邮件、日历、文件的 AI 助手。一个可以代表你联系你联系人的助手。
便利性是真实的。我每天使用 Clawdbot。但责任也是如此。
9、展望未来
Clawdbot 代表着真正新颖的东西:一个不等待被要求、主动提供帮助、深度融入你数字生活的 AI 助手。

这种集成是一个功能。它也是一个攻击面。
好消息是:Clawdbot 团队反应良好。 安全审计命令存在。默认绑定是合理的。文档现在明确警告代理配置。
责任在于我们用户,实际正确配置它。
运行安全审计。检查你的代理设置。考虑 Tailscale。并记住,有权访问你个人生活的 AI 助手值得你给予与银行应用相同的安全关注。
可能更多。
原文链接: Hundreds of Clawdbot instances were exposed on the internet. Here's how to not be one of them
汇智网翻译整理,转载请标明出处