尧图网络科技YAOTU DIGITAL 获取报价
获取报价
首页 / 资讯中心 / 文章详情

OpenClaw 安全崩盘复盘:AI Agent 灾难潮下的配置加固清单

发布时间:2026/9/27 18:07:26

资讯中心
01
ARTICLE

OpenClaw 安全崩盘复盘:AI Agent 灾难潮下的配置加固清单

OpenClaw 安全崩盘复盘:AI Agent 灾难潮下的配置加固清单
1. OpenClaw 安全崩盘到底暴露了什么OpenClaw 是一个能直接操作本地文件、执行 shell、调用外部 API 的 AI Agent 框架适合想让大模型真正“动手干活”的开发者。它从 2026 年 1 月底在 GitHub 上 star 暴增但随之而来的是 AI Agent 历史上最密集的一轮安全崩盘。截至 3 月初公开看板仍显示超过 22 万个可公网直达的活跃实例其中大量处于无认证加凭证泄露的高危状态。我复盘这批事件时发现问题不是某一个 CVE而是三层叠加能力爆炸Agent 能执行任意命令、部署极易默认监听 18789 端口、默认无认证、默认安全缺失反向代理一配就把 localhost 暴露到公网。CVE-2026-25253 的 One-Click RCE 只是导火索真正让灾难扩散的是大量实例把 gateway 直接挂在公网上且 token 明文写在配置里。对已经部署或准备接入 OpenClaw 的开发者来说现在最该做的不是恐慌而是把配置收敛成一套可复制、可校验的加固骨架。下面我按“先隔离、再认证、后最小权限”的顺序给出可以直接抄的 config.toml 与 settings.json以及用 TaoToken 统一 Key 通道接入的示例。2. 接入前的统一 Key 与通道准备在动 OpenClaw 配置之前先把模型调用通道收敛掉。很多泄露案例里Agent 配置文件里散落着各家厂商的 API Key一旦实例被接管攻击者能直接拿到全部凭证。我的做法是把模型调用统一走 TaoToken 的 API 通道OpenClaw 侧只保留一个 Key。TaoToken 的 API 地址是https://taotoken.net/api兼容 OpenAI 风格的调用格式所以 OpenClaw 里凡是填 base_url 的地方都可以指向它。你需要在控制台创建一个 API Key然后把它写进环境变量而不是配置文件明文。具体操作路径先到 TaoToken 控制台 创建 Key再参考 接入文档 确认当前支持的模型名。Key 创建后不要贴进 config.toml用环境变量注入export TAOTOKEN_API_KEYsk-你的key export TAOTOKEN_BASE_URLhttps://taotoken.net/api这样即使 OpenClaw 的配置文件被读取也拿不到真实 Key。如果你还在选模型阶段可以先用 模型对话 验证通道是否通再写进 Agent 配置。3. config.toml 加固骨架OpenClaw 的主配置是 config.toml默认状态下它监听localhost:18789且不强制认证。加固的核心是四件事绑定回环地址、强制 token 认证、关闭不必要的执行能力、限制工作目录。下面是我实测可用的加固骨架你可以直接替换字段值# config.toml 加固版 [gateway] host 127.0.0.1 # 只绑回环绝不写 0.0.0.0 port 18789 auth_required true # 强制认证关闭匿名访问 auth_token ${OPENCLAW_GATEWAY_TOKEN} # 从环境变量读取 tls_enabled false # 本地回环可不启 TLS公网必须启 [agent] workspace /home/you/openclaw-workspace # 独立目录别指向家目录根 allow_shell false # 非必要不开 shell allow_exec false # 关闭任意命令执行 allow_file_write true # 按需开启只读场景设为 false max_file_size_mb 10 [model] provider openai-compatible base_url ${TAOTOKEN_BASE_URL} api_key ${TAOTOKEN_API_KEY} model claude-sonnet-4-5 timeout_seconds 60 [security] allowed_hosts [127.0.0.1, localhost] deny_public_bind true # 显式拒绝公网绑定 log_level info audit_log /var/log/openclaw/audit.log几个关键点auth_token用${}语法从环境变量读别写死allow_shell和allow_exec默认关掉只有明确需要执行命令的场景才开workspace指向独立目录避免 Agent 误读写你的 SSH key 或云凭证。生成一个强 token 并注入环境export OPENCLAW_GATEWAY_TOKEN$(openssl rand -hex 32) echo $OPENCLAW_GATEWAY_TOKEN # 记下来验证时要用4. settings.json 权限最小化配置OpenClaw 的技能与权限在 settings.json 里控制。ClawHavoc 战役里大量恶意技能伪装成钱包追踪、邮件总结工具安装后植入 info-stealer。加固思路是默认拒绝所有技能白名单逐个放行并对技能来源做校验。{ skills: { enabled: true, default_policy: deny, allowlist: [ file-read, http-fetch ], require_signature: true, blocked_sources: [clawhub-unknown, unverified] }, permissions: { filesystem: { read: [/home/you/openclaw-workspace/**], write: [/home/you/openclaw-workspace/output/**], deny: [/etc/**, /root/**, **/.ssh/**, **/.aws/**] }, network: { allow_domains: [taotoken.net], deny_private_ranges: true, block_metadata_endpoint: true }, process: { allow_spawn: false, allow_pty: false } }, session: { max_concurrent: 3, idle_timeout_seconds: 300, require_reconfirm: true } }default_policy: deny是关键意味着新技能默认不能用必须手动加进 allowlist。deny_private_ranges和block_metadata_endpoint防止 Agent 被诱导去访问云厂商的元数据接口169.254.169.254这是 SSRF 提权的常见路径。require_reconfirm让敏感操作需要二次确认避免 Agent 被 prompt 注入后静默执行。5. 三步验证配置校验、权限检查、异常回放配置写完不代表生效必须验证。我总结了三步动作每步都有明确的成功判据。第一步配置校验。OpenClaw 一般带 config check 命令openclaw config validate --config ./config.toml成功输出类似Config valid, 0 errors, 0 warnings。如果报auth_token missing说明环境变量没注入报public bind detected说明 host 还写着 0.0.0.0。第二步权限最小化检查。启动后从外部尝试直连确认被拒# 从另一台机器或公网尝试 curl -s -o /dev/null -w %{http_code} http://你的公网IP:18789/ # 期望连接超时或 403绝不能是 200再从本机带 token 访问确认能通curl -s -H Authorization: Bearer $OPENCLAW_GATEWAY_TOKEN \ http://127.0.0.1:18789/health # 期望{status:ok}第三步异常调用回放。翻 audit.log找有没有非预期来源的 WebSocket 连接或 shell 调用grep -E websocket|exec|spawn /var/log/openclaw/audit.log | tail -50如果看到来自非 127.0.0.1 的连接记录或者 allow_shell 已关却仍有 exec 日志说明配置没生效或被绕过需要回到第 3 节检查。6. 常见报错与排查清单报错一Error: gateway bind failed: address already in use18789 端口被占用。先lsof -i :18789找到进程确认是不是旧的 OpenClaw 实例没关。如果是kill掉再启动如果不是你的进程换端口并同步改 config.toml。报错二401 Unauthorized带 token 也报检查 token 是否有多余空格或换行。echo $OPENCLAW_GATEWAY_TOKEN | xxd | head看结尾有没有0a。另外确认 config.toml 里auth_token的${}语法被正确解析有些版本要求写成env:OPENCLAW_GATEWAY_TOKEN。报错三技能加载失败signature verification failedrequire_signature: true下未签名技能会被拒。要么找官方签名版本要么临时把该技能加进 allowlist 并关掉签名校验不推荐。ClawHavoc 之后我建议宁可少用技能也别关签名。报错四模型调用超时先确认TAOTOKEN_BASE_URL没写错再确认网络能到taotoken.net。可以用 API Keys 页面重新生成一个 Key 测试。如果只是偶发超时把timeout_seconds调到 120。报错五Agent 能读到 workspace 外的文件说明permissions.filesystem.deny没生效。检查路径写法是否用了绝对路径通配符**是否被当前版本支持。实在不行用容器把 workspace 挂载进去从系统层面隔离。7. 长期编码与 Agent 场景的通道选择如果你把 OpenClaw 当长期编码助手或自动化 Agent 用模型调用量会很大单次对话验证通道就不够了。这种场景更适合用 Coding Plan 这类面向持续调用的方案配合 OpenClaw 的base_url指向 TaoTokenKey 统一管理轮换时只改一处。Claude Code 用户如果也在用 Anthropic 系模型可以参考 ClaudeCodeAnthropic 接入说明 把通道对齐避免多套 Key 散落在不同配置文件里。加固的本质是收敛攻击面Key 收敛是其中一环。最后提醒一句OpenClaw 的教训不是“别用 Agent”而是“别让 Agent 裸奔”。把上面这套 config.toml 和 settings.json 抄进去跑完三步验证你的实例至少不会出现在下一个暴露看板上。
02
RELATED NEWS

相关资讯

更多网站建设与数字化升级内容

03
WHY YAOTU

想打造同款高转化官网?

懂行业、懂生意,从建站到增长一站式陪跑

◈

场景化定制

不做模板站,围绕你的业务场景量身设计,小众不撞款。

◐

营销型架构

以转化目标组织内容与路径,让官网真正带来询盘。

▲

全周期服务

设计、开发、运营、运维一体,上线只是开始。

免费获取你的建站方案

留下需求,专属顾问 24 小时内为你输出方案建议。