要把OpenClaw这只“小龙虾”养得既听话又安全,关键是把安全理念转化成一行行具体的代码和配置。下面我针对几个核心场景,为你梳理出可以直接上手操作的“设置手册”。

🏗️ 场景一:部署隔离环境,筑好“防火墙”
目标:让“龙虾”跑在一个与外界隔绝的安全“房间”里,即使它“发疯”,也砸不到家里的东西。
企业级首选:私有云 + Docker 容器化部署这是最推荐的模式,能确保安全策略统一执行,避免“龙虾”散养在员工的个人电脑上。
设置步骤:在Linux VPS或云服务器上,通过Docker部署。
准备服务器:安装Ubuntu 22.04,确保Docker已安装。
创建
docker-compose.yml:这是关键。通过配置ports,将服务端口只监听在本地回环地址上,杜绝外网直接访问。
yaml
services:
openclaw:
image: ghcr.io/openclaw/openclaw:latest
container_name: openclaw-gateway
restart: always
ports:
# 关键配置:仅暴露给本机(127.0.0.1),外部无法直接访问
- "127.0.0.1:18789:18789"
volumes:
- ~/openclaw/data:/home/node/.openclaw
environment:
- NODE_ENV=production
安全访问:通过SSH隧道连接。在你的个人电脑上执行:
ssh -L 18789:127.0.0.1:18789 user@YOUR_VPS_IP,然后在浏览器访问http://127.0.0.1:18789。这样,所有流量都经过加密的SSH通道,安全等级很高。
个人用户的“物理隔离”如果你在自己的电脑上玩,可以创建一个独立的、没有系统管理员权限的“访客”账号,专门用来跑“龙虾”。或者,像配置一个专用的、与个人浏览器完全隔离的“龙虾浏览器”:
配置隔离浏览器:编辑
~/.openclaw/openclaw.json文件,将默认浏览器配置文件设为openclaw。这个配置文件是独立的,不会触及你的个人浏览记录、密码等隐私数据。json
{
browser: {
// ... 其他配置
defaultProfile: "openclaw", // 设置为使用隔离的托管浏览器
profiles: {
openclaw: { // 这个就是隔离的专用浏览器
cdpPort: 18800,
color: "#FF4500" // 给它一个醒目的颜色,提醒你这是个“AI专用”浏览器
}}}}
🔌 场景二:管理Skill插件,严把“入口关”
目标:在给“龙虾”安装任何“技能”前,先做安全扫描,防止恶意插件混入。
第一步(也是最重要的一步):安装安全扫描器在安装任何第三方Skill之前,必须先安装安全扫描工具。例如使用yidun-skill-sec(也被称为“虾壳”),它可以自动扫描Skill中的恶意行为。
bash
# 安装安全扫描Skill
openclaw plugin install clawhub.ai/yd-dev/yidun-skill-sec
# 启用自动扫描并开启关键拦截
openclaw config set plugins.yidun-skill-sec.autoScan true
openclaw config set plugins.yidun-skill-sec.blockCritical true
这样配置后,每次安装新Skill,系统都会自动扫描,发现极度危险的会直接阻断。
手动扫描与审查对于来路不明的Skill,或者在企业内部做上架审核时,养成先扫描再安装的习惯。
bash
# 手动扫描一个叫 'trend-scout' 的技能
openclaw skill scan trend-scout
# 查看详细的安全报告
openclaw skill report trend-scout
报告会给出一个百分制评分和风险标签。如果评分低于60分,或者出现了“凭证窃取”、“权限提升”等红标风险,就应该拒绝安装。
🧠 场景三:限制核心权限,防止“滥用职权”
目标:遵循最小权限原则,让“龙虾”只有完成当前任务所必需的最小能力,不给它“搞事情”的机会。
操作权限分离(以Gmail为例)不要把所有的权限都揉在一起。比如,处理邮件应该拆分成“读邮件”和“发邮件”两个独立的Skill,分别申请不同的OAuth Scope。
读邮件Skill:在它的
config.json中声明只需只读权限。{ "scope": "https://www.googleapis.com/auth/gmail.readonly" }发邮件Skill:在它的
config.json中声明只需发送权限。{ "scope": "https://www.googleapis.com/auth/gmail.send", "requireConfirm": true }这样,即使“读邮件”Skill被恶意控制,它也发不了邮件。错误做法:一个Skill申请
https://mail.google.com/(拥有邮件的完全控制权)。正确做法:
Just-in-Time(JIT)权限配置对于高风险操作(如执行系统命令
exec、发送邮件、删除文件),配置成每次执行都需要用户确认。可以在OpenClaw的配置中,通过requireConfirm或类似的信任策略来实现。例如,在Skill的配置或全局策略中设置:javascript
// 假设的配置概念,需要在具体平台实现
const TRUST_POLICY = {
// 高风险操作,每次都需要确认,并显示具体命令
'exec': { confirm: 'always', showPreview: true },
'gmail.send': { confirm: 'always', showPreview: true },
// 中风险操作,仅首次确认,24小时内记住
'calendar.events': { confirm: 'first-time', rememberFor: 86400 },
// 低风险操作,静默执行
'gmail.readonly': { confirm: false }
};
🌐 场景四:管控网络访问,杜绝“暗中勾连”
目标:严格控制“龙虾”的网络出入口,防止它被外部命令诱导去访问恶意网站,或把数据传出去。
控制互联网暴露面前面提到的Docker部署方法,通过
127.0.0.1:18789:18789配置,已经从根本上杜绝了管理端口暴露在公网的风险。定期使用奇安信等安全厂商的网络空间测绘工具自查,确保没有意外暴露的实例。浏览器访问控制配置“龙虾”使用的浏览器,让它只能访问必要的网站。虽然OpenClaw官方文档没有直接给出“域名白名单”的配置项,但这是一个非常重要的防御思路。
原理:可以在网络层(如通过防火墙或网关)或通过自定义的浏览器Skill来实现。例如,在“网页抓取”Skill的代码中,对传入的URL进行过滤,只允许访问公司内部系统或特定几个新闻网站,禁止访问任何外部未知链接。
📝 安全自检清单
配置完成后,你可以对照这份清单做个“体检”:
部署环境:是不是跑在虚拟机、容器或Dedicated的服务器里?
网络暴露:管理端口(默认18789)是不是只监听在
127.0.0.1上?有没有用防火墙或SSH隧道保护起来?插件安全:有没有安装类似
yidun-skill-sec的安全扫描器?权限粒度:关键Skill(如邮件、文件、命令执行)是否做到了读写分离和最小化授权?
用户确认:执行高危操作时,会不会弹出明确的确认框,并让你预览具体内容?
日志审计:有没有开启详细的日志记录,以便事后追溯?
你是打算在自己的电脑上部署,还是为企业配置生产环境?不同场景下的隔离策略和权限配置会有细微差别,告诉我你的具体情况,我再帮你补充一些针对性的细节。



“云智数管”一体化数智管理转型
A、泛微数智化中台方案
诚邀企业合伙人EBP个人合伙人PBP,
加入各地兵导智能数字管理转型论坛,
TBIDMTC理念,覆盖全国333城市,
共同做好各区域、各行业数智化转型,
互补有无!商机共享!合作共赢!!!

全国:13240806777
各地数字管理
论坛欢迎加入


扫码报备商机
夜雨聆风