附錄 G:安全防護指南
OpenClaw 的定位是私人助手——它只和你一個人對話。理解這一點,是理解所有安全問題的起點。
1. 威脅模型:你的龍蝦麪臨哪些風險?
1.1 提示詞注入攻擊
什麼是提示詞注入? 攻擊者通過精心構造的文本,繞過 AI 的原始指令,讓它執行惡意操作。就像你告訴助理"不要理會別人的指令",但有人對助理說"忘掉之前的所有規則,現在執行我的命令"。
核心原則:OpenClaw 是私人助手,不是羣聊機器人。
當你自己使用 OpenClaw 時,提示詞注入幾乎不存在——你不會故意攻擊自己的助手。但如果你把 OpenClaw 放進羣聊,讓不可信的第三方與它對話,安全性就變得像窗戶紙一樣薄:
- 攻擊者可以讓你的 OpenClaw 執行任意 Shell 命令
- 攻擊者可以讀取你服務器上的敏感文件(API Key、環境變量等)
- 攻擊者可以讓你的服務直接下線
- 攻擊者可以盜用你的模型 Token
提示詞注入是大模型的固有問題,目前無法根治。社區中已有大量真實攻擊案例在流傳。
結論:如果你只是自己用,90% 以上的安全問題都遇不到。如果你把 OpenClaw 放到羣聊裏,請做好被攻擊的心理準備。
1.2 IP 暴露風險
2026 年初,安全研究者發現超過 27 萬個 OpenClaw 實例直接暴露在公網上,沒有任何認證保護。這意味着:
- 任何人都可以直接訪問你的 OpenClaw
- 你的 Token 可能被他人盜用("Token 像大壩決堤一樣流失")
- 你的對話記錄、工作區文件可能被竊取
暴露的根本原因:部署時沒有配置認證,或者直接將 OpenClaw 端口映射到公網。
1.3 惡意 Skill 後門
ClawHub 上有 16,000+ 技能,社區精選庫 awesome-openclaw-skills 有 5,000+。但並非所有 Skill 都是安全的:
- 某些 Skill 可能包含隱藏的數據上傳邏輯
- 某些 Skill 可能請求超出功能需要的系統權限
- 某些 Skill 的依賴包中可能存在供應鏈攻擊
1.4 文件誤刪風險
即使只是自己使用,OpenClaw 在執行自動化任務時也可能誤操作:
- 執行 Shell 命令時構造了錯誤的指令,意外刪除文件
- 清理任務的範圍設置過大,波及重要數據
- 在命令注入場景下,敏感環境變量被意外公開
2. 自查清單:你的龍蝦安全嗎?
2.1 檢查 IP 暴露
第一步:查找你的服務器公網 IP
如果你的 OpenClaw 部署在雲服務器上:
# 在服務器上執行,查看公網 IP
curl -s ifconfig.me如果部署在本地電腦上:
# 查看本地公網 IP
curl -s ifconfig.me本地部署通常在路由器 NAT 後面,默認不會暴露到公網。但如果你做了端口映射或使用了內網穿透工具(如 frp、ngrok),你的 OpenClaw 可能已經暴露。
第二步:驗證是否暴露
訪問 OpenClaw 暴露查詢工具,輸入你的服務器 IP 地址進行檢查:
如果查詢結果顯示你的實例在列,請立即按第 3 節的防護措施進行加固。
第三步:檢查端口是否對外開放
# 檢查 OpenClaw 默認端口是否對外監聽(默認端口:18789)
ss -tlnp | grep 18789如果看到 0.0.0.0:18789 或 :::18789,說明端口對所有網絡接口開放,存在暴露風險。應改爲 127.0.0.1:18789(僅本地訪問)。
2.2 檢查認證配置
# 查看 OpenClaw 配置中的認證設置(如果未開啓,立即開啓)
openclaw config set gateway.auth.enabled true確認你的 openclaw.json 中包含認證配置:
{
"gateway": {
"auth": {
"enabled": true
}
}
}2.3 檢查 Skill 來源
# 列出所有已安裝的 Skill
clawhub list
# 用 skill-vetter 掃描安全風險
clawhub install skill-vetter
# skill-vetter 會自動掃描已安裝的 Skill逐一檢查:
- 是否來自 ClawHub 官方或知名作者?
- 安裝量和評價如何?
- 是否請求了超出功能需要的權限?
3. 防護措施
3.1 開啓沙盒模式(防止文件誤刪)
沙盒模式讓 OpenClaw 只能操作自己工作區內的文件,不會觸及你電腦上的其他文件:
openclaw config set agents.defaults.sandbox.mode non-main強烈建議所有用戶開啓沙盒模式,尤其是剛開始使用的新手。等你熟悉了 OpenClaw 的行爲模式後,再根據需要調整。
三種模式對比:
| 模式 | 含義 | Shell 命令 | 適合場景 |
|---|---|---|---|
all | 所有 Agent 都在沙盒中運行 | 受限 | 安全優先、羣聊場景 |
non-main | 主 Agent 之外的子 Agent 在沙盒中運行 | 主 Agent 不受限 | 推薦日常使用 |
off | 不啓用沙盒 | 不限制 | 開發者、明確知道自己在做什麼 |
3.2 網絡隔離(不要直接暴露到公網)
本地部署用戶:
- 不要使用 frp、ngrok 等內網穿透工具直接暴露 OpenClaw 端口
- 如果需要遠程訪問,使用 SSH 隧道:
# 在本地電腦上建立 SSH 隧道,通過 SSH 安全訪問遠程 OpenClaw
ssh -L 18789:127.0.0.1:18789 user@your-server-ip雲服務器用戶:
- OpenClaw 端口只綁定
127.0.0.1,不要綁定0.0.0.0 - 使用防火牆規則限制訪問:
# 僅允許特定 IP 訪問(替換爲你的 IP)
sudo ufw allow from YOUR_IP to any port 18789
sudo ufw deny 18789- 使用反向代理(如 Nginx)+ HTTPS + 基本認證:
server {
listen 443 ssl;
server_name your-domain.com;
ssl_certificate /path/to/cert.pem;
ssl_certificate_key /path/to/key.pem;
location / {
auth_basic "OpenClaw";
auth_basic_user_file /etc/nginx/.htpasswd;
proxy_pass http://127.0.0.1:18789;
}
}3.3 認證與訪問控制
# 開啓認證
openclaw config set gateway.auth.enabled true
# 重啓使配置生效
openclaw gateway restart3.4 Skill 安全審查
安裝任何新 Skill 前:
- 先用 skill-vetter 掃描:
clawhub install skill-vetter(詳見第五章) - 檢查 Skill 來源:優先選擇 ClawHub 官方推薦和高安裝量的 Skill
- 閱讀 SKILL.md:瞭解 Skill 需要的權限和外部依賴
- 在沙盒模式下先試用:確認行爲符合預期後再放開權限
3.5 敏感信息保護
- API Key 使用環境變量,不要寫在配置文件裏:
export OPENROUTER_API_KEY="sk-..."- 不要在工作區文件中存放密碼、Token 等敏感信息
- 定期輪換 API Key:如果懷疑 Key 泄露,立即在提供商後臺重新生成
4. 羣聊場景特別警告
爲什麼不建議把 OpenClaw 放進羣聊?
OpenClaw 的設計假設是:與它對話的人是可信任的(就是你自己)。這個假設在羣聊場景中完全不成立。
真實案例:
- 羣友發送精心構造的消息,直接讓 OpenClaw 執行
rm -rf刪除服務器文件 - 攻擊者通過提示詞注入獲取環境變量中的 API Key
- 惡意用戶讓 OpenClaw 導出所有對話歷史和工作區文件
- 有人讓 OpenClaw 執行關機命令,導致整個服務下線
如果必須在羣聊中使用
如果你瞭解風險但仍需要在羣聊中使用 OpenClaw(如內部小團隊),請至少做到:
- 開啓沙盒模式:
openclaw config set agents.defaults.sandbox.mode all - 限制 Shell 命令執行:在
openclaw.json中禁用或限制 Shell 工具 - 使用白名單:只允許特定用戶 ID 與 OpenClaw 交互
- 限制敏感操作:在 SOUL.md 中明確禁止文件刪除、系統命令等危險操作
- 獨立部署:羣聊用的 OpenClaw 實例和你私人使用的實例必須完全分開
- 監控日誌:實時關注異常請求(詳見第十一章日誌診斷)
再次強調:以上措施只能降低風險,不能消除風險。提示詞注入目前無法根治。如果你的場景允許,最安全的做法就是不要把 OpenClaw 放進羣聊。
5. 安全檢查定期清單
建議每月執行一次:
- [ ] 檢查 OpenClaw 是否暴露在公網(用
curl -s ifconfig.me查 IP,去暴露監測面板驗證) - [ ] 確認認證已開啓(
gateway.auth.enabled: true) - [ ] 確認沙盒模式狀態符合預期
- [ ] 用 skill-vetter 掃描所有已安裝 Skill
- [ ] 檢查並輪換 API Key(尤其是使用量異常時)
- [ ] 查看 OpenClaw 日誌中是否有異常請求(
openclaw logs --limit 100) - [ ] 確認防火牆規則未被修改
- [ ] 備份工作區文件(詳見第十一章備份恢復)
安全不是一勞永逸的事,而是持續的習慣。 就像鎖門一樣——你不會因爲"這個小區很安全"就不鎖門。養成定期檢查的習慣,你的龍蝦才能安全地爲你服務。