微信扫码
添加专属顾问
我要投稿
你的Moltbot可能正在裸奔!8个关键配置帮你堵住安全漏洞,避免私钥泄露等重大风险。 核心内容: 1. Moltbot常见的安全隐患与真实案例 2. 8项必须立即实施的最低安全配置 3. 从触发源到工具权限的完整防护思路
前两天帮朋友看他的 Moltbot 配置,打开一看,网关直接绑在 0.0.0.0,没有任何 token。
我问他知不知道这意味着什么,他说"应该只有我自己能连吧"。
不是的。这意味着任何人只要扫到你的 IP 和端口,就能给你的 bot 发消息,然后你的 bot 就会照做——跑命令、读文件、开浏览器,什么都行。
后来我又刷到有人做公网扫描,一下子扫出 120 多个这样的实例。另一份报告说 1600 多个。这些不是"理论上可能被攻击",而是"正在被扫描器盯着"。
还有一种更隐蔽的风险:你以为只有"陌生人发消息"才危险,但实际上 bot 读取的任何外部内容(网页、邮件、附件、你粘贴进去的日志)都可能夹带指令,诱导它调用工具。这叫 prompt injection,听上去很学术,但真出事就是"bot 把你的私钥发给了攻击者"。
所以这篇不聊提示词,不聊模型选择,只做一件事:把你已经跑起来的 Moltbot 锁住。
你不需要变成安全专家,但你得知道哪些配置是在"敞开大门"。
下面 8 项是最低安全门槛。做到这些,90% 的常见事故都能提前挡住。
gateway.bind: "loopback"。不要 0.0.0.0,不要图省事改成 LAN。gateway.auth.mode: "token" 或 "password",能轮换。moltbot security audit --deep --fix,尤其改完配置之后。exec/browser/写文件默认收紧,高风险能力只给你自己的 Agent。~/.moltbot 权限收紧,日志脱敏,分享排障信息前先删减。普通聊天机器人最坏的情况是"说错话"。Moltbot 不一样,它的价值就在于能做事:
一旦这些能力打开,你就得换一套思路来想安全:
这个顺序很重要。很多人把精力花在调提示词上,但真正出事的往往是"谁都能给 bot 发消息"或者"bot 能动的东西太多"。
我们要防的不是某个单点漏洞,而是一条常见的事故链:
我们要做的,就是在 B 和 D 两处把闸门装牢,默认把外部内容当成不可信输入。
下面这套流程不追求"完美安全",目标是快速把风险从"可被远程接管"降到"需要多层突破"。
在动手改配置之前,建议先跑一遍审计,看看自己踩了哪些坑:
moltbot security audit
moltbot security audit --deep重点看三类问题:
如果你只想"先止血",可以直接让它自动修复:
moltbot security audit --deep --fix
--fix 会做一些"安全基线回滚":把常见渠道的 open 策略收紧、把脱敏设置改回默认、把敏感目录权限收紧。不是万能药,但能补掉很多低级失误。
这是最关键的一刀。
原则很简单:网关默认只给本机连。要远程访问,就通过安全隧道把"你的人"带回本机,而不是把服务推到公网。
你只需要记住三行配置:
{
gateway: {
bind: "loopback",
port: 18789,
auth: { mode: "token", token: "your-long-random-token" }
}
}要避免的只有一句话:不要把网关暴露到 0.0.0.0 且不做强鉴权。这种配置被测绘引擎抓到只是时间问题。
网关鉴权支持 token 或 password,怎么选都行,但必须满足两个要求:
轮换的步骤(建议写进你的运维笔记里):
还有一点容易忽略:浏览器控制 token 不要和网关 token 复用。复用意味着一处泄露会放大爆炸半径。
如果你的需求是"外面用手机也能控制家里的 Moltbot",最常见的错误做法是:开端口、做转发、甚至把服务挪到 VPS 并暴露公网。
更稳的做法:
为什么不建议 LAN bind?因为一旦误配置或被端口转发带到公网,你很难第一时间意识到自己已经"裸奔"。
如果你确实必须跑在 VPS 上,就得把它当生产系统来做:防火墙白名单、强鉴权、最小权限、监控告警、应急预案。省下的那点成本,抵不上一次事故。
这个坑很多人没意识到。即便不暴露公网端口,网关在局域网里广播自身也会泄露运行细节:
如果你不依赖"自动发现设备"的功能,直接关掉最省心:
{
discovery: {
mdns: { mode: "minimal" } // 或 "off"
}
}或者设环境变量:MOLTBOT_DISABLE_BONJOUR=1
很多事故不是黑客技术高超,而是"有人给 bot 发了消息,bot 就照做了"。所以这一步优先级很高。
DM 策略大概分四档:
pairing:陌生人先拿配对码,你批准了才能触发。推荐默认用这个。allowlist:只有白名单能 DMopen:任何人可 DM。除非你非常清楚自己在干什么,否则不要用。disabled:彻底不收 DM配对审批用 CLI:
moltbot pairing list <channel>
moltbot pairing approve <channel> <code>还有一个细节:如果你允许多人 DM,默认所有 DM 可能进入同一主会话,上下文会串。可以启用会话隔离:
{
session: { dmScope: "per-channel-peer" }
}群聊里最危险的模式是"always-on":任何人说一句话,bot 就能被拉进来,然后被诱导做事。
建议做两件事:
"*" 放开所有群{
channels: {
whatsapp: {
groups: { "*": { requireMention: true } }
}
}
}这条规则的现实收益:把攻击面从"任何能说话的人"缩小到"能点名的人",同时显著降低误触发。
只要工具开着,注入就有机会被放大成真实动作。所以工具权限不是"默认全开",而是安全系统的一部分。
我建议你先把工具按风险分三类(以后每加一个集成,就对照一下):
exec、browser、写文件(write/edit/apply_patch)read(可能读到密钥)、web_fetch/web_search(会把外部内容带进来)然后做一个简单策略:
Moltbot 支持把工具执行放到 Docker sandbox 里:网关在宿主机,工具在容器里跑。
它不是绝对安全边界,但能显著缩小文件系统和进程访问范围。模型做傻事的时候,损失上限会小很多。
三个概念你得知道:
mode:什么时候用沙箱(off/non-main/all)scope:一个容器服务多少会话(session/agent/shared)workspaceAccess:沙箱能不能看到你的真实工作目录(none/ro/rw)推荐的起点(把群聊/非主会话先关进沙箱):
{
agents: {
defaults: {
sandbox: {
mode: "non-main",
scope: "session",
workspaceAccess: "none"
}
}
}
}这里的直觉是:群聊/多入口会话风险更高,让它们先沙箱化;workspaceAccess: "none" 能避免容器直接读取你真实工作区的文件。
有一条红线:tools.elevated 是绕过沙箱的宿主机执行逃生口。能不开就不开;必须开的话,allowlist 要极窄,只给你本人。
浏览器控制最危险的地方不在"能点按钮",而在于浏览器 profile 往往已经登录了一堆敏感账户。模型只要能操作这个 profile,就等于"以你的身份操作"。
如果你不需要 browser 工具,直接禁用,这是最稳的。
如果必须启用,至少做到:
~/.moltbot 当钥匙串状态目录里存着配置、凭据、会话转录、插件代码、沙箱残留。别人能读到这些,就能拿到你的密钥和行为轨迹。
你至少要做到:
~/.moltbot 目录权限收紧(只允许当前用户读写)还有一个常见事故:为了排障,把会话转录/日志原样发到群里。转录里可能包含你粘贴过的 token、目录结构、命令输出(带密钥、URL、内部服务)。
排障分享的底线:先删减,再分享。别把排障当成二次泄露。
做完上面这些,你至少应该能通过三个信号确认自己不再裸奔:
moltbot security audit --deep 不再报高危项你真正要追求的是:即使发生注入,损失上限也可控。这才是"可用但不危险"。
真怀疑被入侵的时候,按这个顺序来:
exec/browser)disabled/allowlistgateway.bind 拉回 loopbackextensions/ 里有没有不可信插件moltbot security audit --deep,确认清理干净下面这份配置不追求"功能全开",追求"先安全可用"。你可以把它当成最终要达到的稳定形态,再逐步放开能力。
{
gateway: {
bind: "loopback",
port: 18789,
auth: { mode: "token", token: "${MOLTBOT_GATEWAY_TOKEN}" }
},
discovery: {
mdns: { mode: "minimal" }
},
session: {
dmScope: "per-channel-peer"
},
agents: {
defaults: {
sandbox: {
mode: "non-main",
scope: "session",
workspaceAccess: "none"
}
}
},
channels: {
whatsapp: {
dmPolicy: "pairing",
groups: { "*": { requireMention: true } }
},
telegram: {
dmPolicy: "pairing",
groups: { "*": { requireMention: true } }
}
}
}几个说明:
dmScope 单人自用可以不启用,但启用后更不容易串话non-main 起步,后续可以按需升级到 allMoltbot 这类工具的诱惑是:它让你觉得"只要多给点权限,就能更省事"。
但工程现实往往相反:权限越大,出事损失越大;入口越开放,事故概率越高;模型越便宜越弱,越容易被诱导做傻事。
你真正需要的不是"更强的提示词",而是一个可控的系统:身份先行、权限分层、工具收敛、沙箱兜底、审计常态化。
把这几件事做对,Moltbot 才会是助手,而不是风险源。
53AI,企业落地大模型首选服务商
产品:场景落地咨询+大模型应用平台+行业解决方案
承诺:免费POC验证,效果达标后再合作。零风险落地应用大模型,已交付160+中大型企业
2026-02-04
刚刚,Xcode 史诗级更新:原生集成 Claude Agent SDK,苹果开发直接起飞!
2026-02-04
国产 Cowork 它来了!MCP、Skills和Expert Agents都支持,全部免费体验!
2026-02-04
混元研究博客上线姚顺雨团队最新成果:从 Context 探索语言模型的范式转变
2026-02-04
通俗讲解大模型短期记忆 vs 长期记忆
2026-02-04
谁动了我的电脑?谁应该抱怨?
2026-02-03
从 CLI 到桌面:Codex 把 coding agent 变成“任务指挥台”
2026-02-03
谷歌重大更新:国内手动开启 Gemini AI 侧边栏与 Auto Browse 自动浏览全攻略
2026-02-03
OpenAI 发布新的 Codex 桌面版,我现在不骂 Codex 难用了
2026-01-24
2026-01-10
2025-11-19
2025-11-13
2026-01-26
2026-01-01
2025-12-09
2025-11-12
2026-01-09
2025-12-21
2026-02-04
2026-02-03
2026-02-03
2026-02-02
2026-02-02
2026-02-02
2026-01-31
2026-01-30