Skip to content

附錄 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 的依賴包中可能存在供應鏈攻擊

詳見第五章 Skill 安全警告

1.4 文件誤刪風險

即使只是自己使用,OpenClaw 在執行自動化任務時也可能誤操作:

  • 執行 Shell 命令時構造了錯誤的指令,意外刪除文件
  • 清理任務的範圍設置過大,波及重要數據
  • 在命令注入場景下,敏感環境變量被意外公開

2. 自查清單:你的龍蝦安全嗎?

2.1 檢查 IP 暴露

第一步:查找你的服務器公網 IP

如果你的 OpenClaw 部署在雲服務器上:

bash
# 在服務器上執行,查看公網 IP
curl -s ifconfig.me

如果部署在本地電腦上:

bash
# 查看本地公網 IP
curl -s ifconfig.me

本地部署通常在路由器 NAT 後面,默認不會暴露到公網。但如果你做了端口映射或使用了內網穿透工具(如 frp、ngrok),你的 OpenClaw 可能已經暴露。

第二步:驗證是否暴露

訪問 OpenClaw 暴露查詢工具,輸入你的服務器 IP 地址進行檢查:

如果查詢結果顯示你的實例在列,請立即按第 3 節的防護措施進行加固

第三步:檢查端口是否對外開放

bash
# 檢查 OpenClaw 默認端口是否對外監聽(默認端口:18789)
ss -tlnp | grep 18789

如果看到 0.0.0.0:18789:::18789,說明端口對所有網絡接口開放,存在暴露風險。應改爲 127.0.0.1:18789(僅本地訪問)。

2.2 檢查認證配置

bash
# 查看 OpenClaw 配置中的認證設置(如果未開啓,立即開啓)
openclaw config set gateway.auth.enabled true

確認你的 openclaw.json 中包含認證配置:

json
{
  "gateway": {
    "auth": {
      "enabled": true
    }
  }
}

2.3 檢查 Skill 來源

bash
# 列出所有已安裝的 Skill
clawhub list

# 用 skill-vetter 掃描安全風險
clawhub install skill-vetter
# skill-vetter 會自動掃描已安裝的 Skill

逐一檢查:

  • 是否來自 ClawHub 官方或知名作者?
  • 安裝量和評價如何?
  • 是否請求了超出功能需要的權限?

3. 防護措施

3.1 開啓沙盒模式(防止文件誤刪)

沙盒模式讓 OpenClaw 只能操作自己工作區內的文件,不會觸及你電腦上的其他文件:

bash
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 隧道:
bash
# 在本地電腦上建立 SSH 隧道,通過 SSH 安全訪問遠程 OpenClaw
ssh -L 18789:127.0.0.1:18789 user@your-server-ip

雲服務器用戶

  • OpenClaw 端口只綁定 127.0.0.1,不要綁定 0.0.0.0
  • 使用防火牆規則限制訪問:
bash
# 僅允許特定 IP 訪問(替換爲你的 IP)
sudo ufw allow from YOUR_IP to any port 18789
sudo ufw deny 18789
  • 使用反向代理(如 Nginx)+ HTTPS + 基本認證:
nginx
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 認證與訪問控制

bash
# 開啓認證
openclaw config set gateway.auth.enabled true

# 重啓使配置生效
openclaw gateway restart

3.4 Skill 安全審查

安裝任何新 Skill 前:

  1. 先用 skill-vetter 掃描clawhub install skill-vetter(詳見第五章
  2. 檢查 Skill 來源:優先選擇 ClawHub 官方推薦和高安裝量的 Skill
  3. 閱讀 SKILL.md:瞭解 Skill 需要的權限和外部依賴
  4. 在沙盒模式下先試用:確認行爲符合預期後再放開權限

3.5 敏感信息保護

  • API Key 使用環境變量,不要寫在配置文件裏:
bash
export OPENROUTER_API_KEY="sk-..."
  • 不要在工作區文件中存放密碼、Token 等敏感信息
  • 定期輪換 API Key:如果懷疑 Key 泄露,立即在提供商後臺重新生成

4. 羣聊場景特別警告

爲什麼不建議把 OpenClaw 放進羣聊?

OpenClaw 的設計假設是:與它對話的人是可信任的(就是你自己)。這個假設在羣聊場景中完全不成立。

真實案例

  • 羣友發送精心構造的消息,直接讓 OpenClaw 執行 rm -rf 刪除服務器文件
  • 攻擊者通過提示詞注入獲取環境變量中的 API Key
  • 惡意用戶讓 OpenClaw 導出所有對話歷史和工作區文件
  • 有人讓 OpenClaw 執行關機命令,導致整個服務下線

如果必須在羣聊中使用

如果你瞭解風險但仍需要在羣聊中使用 OpenClaw(如內部小團隊),請至少做到:

  1. 開啓沙盒模式openclaw config set agents.defaults.sandbox.mode all
  2. 限制 Shell 命令執行:在 openclaw.json 中禁用或限制 Shell 工具
  3. 使用白名單:只允許特定用戶 ID 與 OpenClaw 交互
  4. 限制敏感操作:在 SOUL.md 中明確禁止文件刪除、系統命令等危險操作
  5. 獨立部署:羣聊用的 OpenClaw 實例和你私人使用的實例必須完全分開
  6. 監控日誌:實時關注異常請求(詳見第十一章日誌診斷

再次強調:以上措施只能降低風險,不能消除風險。提示詞注入目前無法根治。如果你的場景允許,最安全的做法就是不要把 OpenClaw 放進羣聊


5. 安全檢查定期清單

建議每月執行一次:

  • [ ] 檢查 OpenClaw 是否暴露在公網(用 curl -s ifconfig.me 查 IP,去暴露監測面板驗證)
  • [ ] 確認認證已開啓(gateway.auth.enabled: true
  • [ ] 確認沙盒模式狀態符合預期
  • [ ] 用 skill-vetter 掃描所有已安裝 Skill
  • [ ] 檢查並輪換 API Key(尤其是使用量異常時)
  • [ ] 查看 OpenClaw 日誌中是否有異常請求(openclaw logs --limit 100
  • [ ] 確認防火牆規則未被修改
  • [ ] 備份工作區文件(詳見第十一章備份恢復

安全不是一勞永逸的事,而是持續的習慣。 就像鎖門一樣——你不會因爲"這個小區很安全"就不鎖門。養成定期檢查的習慣,你的龍蝦才能安全地爲你服務。