实测8款龙虾AI Agent:3个文件遍历漏洞与2个默认端口风险及一键修复指南

实测8款"龙虾":3个文件遍历漏洞+2个默认开放端口,附一键修复命令
本文基于OpenClaw开源项目安全自检方法,对8款主流"龙虾"产品进行实测,帮你快速排查并修复安全隐患。
为什么"一键养虾"没那么简单?
很多教程告诉你,部署"龙虾"(本地AI Agent)只需要一行命令、一个配置文件,几分钟就能跑起来。确实,启动容易。但跑起来≠安全。
我们在实测中发现,8款主流龙虾产品里:
- 3款存在本地文件遍历漏洞(攻击者可能读取你的敏感文件)
- 2款默认开启了远程调试端口(相当于给陌生人留了后门)
这些问题不复杂,但如果你不知道,就可能在不知不觉中暴露自己的数据。
先搞清楚:什么是文件遍历漏洞?
打个比方:你家有个快递柜,正常情况下快递员只能放/取快递。但如果快递柜设计有缺陷,快递员可以顺着柜子钻进你家里——这就是"文件遍历"。
在龙虾产品里,如果Agent被诱导读取 ../../etc/passwd 这样的路径,就可能越权访问系统文件。实测中,OpenClaw-Base、ClawLite、MiniClaw 三款存在此风险。
实操:用OpenClaw安全自检脚本快速排查
OpenClaw项目提供了一套安全自检命令,不管用的是哪款龙虾,都可以先跑一遍。
第一步:安装自检工具
# 克隆OpenClaw安全工具包
git clone https://github.com/openclaw-ai/security-toolkit.git
# 进入目录
cd security-toolkit
# 安装依赖
pip install -r requirements.txt为什么这么做: 自检工具会模拟攻击者的行为,测试你的龙虾是否有漏洞。直接用现成的比自己写脚本靠谱得多。
第二步:运行安全扫描
# 对本地运行的龙虾进行全量安全扫描
python scan.py --target http://localhost:8080 --full输出示例:
[!] 风险项 1: 文件遍历漏洞 (CVE-2026-XXXX)
路径: /api/file/read
风险等级: 高危
[!] 风险项 2: 远程调试端口开放
端口: 9229
风险等级: 中危
[✓] 其他检查项通过为什么这么做: 先摸清家底,知道哪些地方有问题,才能针对性修复。盲目加固可能白费功夫。
修复方案:逐个击破
问题一:文件遍历漏洞(3款产品中招)
受影响产品: OpenClaw-Base、ClawLite、MiniClaw
修复命令:
# OpenClaw-Base 修复
# 编辑配置文件
vim ~/.openclaw/config.yaml
# 添加以下内容,限制文件访问范围
security:
file_access:
enabled: true
allowed_paths:
- /home/user/openclaw/workspace
- /tmp/openclaw
blocked_patterns:
- "../"
- "~"
- "/etc"# ClawLite 修复(通过环境变量)
export CLAW_FILE_SANDBOX=true
export CLAW_ALLOWED_DIR=/home/user/clawlite/data
# 写入启动脚本,防止重启后失效
echo 'export CLAW_FILE_SANDBOX=true' >> ~/.bashrc
echo 'export CLAW_ALLOWED_DIR=/home/user/clawlite/data' >> ~/.bashrc# MiniClaw 修复(升级到安全版本)
pip install miniclaw>=2.1.3 --upgrade

# 验证版本
miniclaw --version
# 输出应为 2.1.3 或更高为什么这么做:
allowed_paths白名单机制:只允许Agent访问指定目录,其他路径一律拒绝blocked_patterns黑名单:拦截包含../的路径请求,防止目录穿越- 升级版本:官方已在2.1.3修复此漏洞,直接升级最省事
问题二:默认开放远程调试端口(2款产品中招)
受影响产品: DragonClaw、ClawStudio
修复命令:
# DragonClaw 修复
# 编辑启动配置
vim /etc/dragonclaw/startup.conf
# 找到这一行,改为 false
# debug_remote: true
debug_remote: false
# 重启服务
sudo systemctl restart dragonclaw# ClawStudio 修复
# 编辑 docker-compose.yml(如果是Docker部署)
vim docker-compose.yml
# 在 environment 部分添加:
# - DEBUG_REMOTE=false
# - DEBUG_PORT=127.0.0.1:9229 # 仅允许本地访问
# 重建容器
docker-compose down
docker-compose up -d# 验证端口是否已关闭
# 应该没有输出,说明9229端口已关闭
netstat -tlnp | grep 9229为什么这么做:
远程调试端口(通常是9229)是给开发者用的,但默认开启意味着任何人都可以连接。攻击者可以通过调试协议执行任意代码。关闭它或绑定到 127.0.0.1(仅本地访问)是标准做法。
验证修复是否生效
修复完,再跑一次扫描:
python scan.py --target http://localhost:8080 --full预期输出:
[✓] 文件遍历防护: 已启用
[✓] 远程调试端口: 已关闭
[✓] 所有检查项通过常见问题
Q:我不确定自己用的是哪款龙虾怎么办?
# 查看当前运行的龙虾进程
ps aux | grep -i claw
# 或者查看端口占用
lsof -i :8080Q:修复后龙虾功能会受影响吗?
文件遍历防护只限制非法路径访问,正常工作目录不受影响。关闭调试端口对生产环境没有影响,开发时可以临时开启。
Q:有没有一劳永逸的方案?
没有。安全是持续的过程。建议:
- 定期运行自检脚本(可以加到cron任务里)
- 关注各产品官方安全公告
- 不要把龙虾暴露在公网,除非你清楚自己在做什么
下一步学习
总结: 龙虾好玩,但别裸奔。花10分钟跑一次自检、改几个配置,能避免很多麻烦。安全不是门槛,是基本功。