本技能並非純本地掃描工具,在執行前請確認你已瞭解以下行為:
所有模式均會(包括預設本地模式):
~/.openclaw/)僅在使用者選擇 --push 模式(需顯式同意)時還會:
agent_id(~/.openclaw/.agent-id),形成持久裝置標識auth.ctct.cn(Changeway 自營服務),可用於多次上傳後的裝置歷史關聯僅在使用者選擇設定定時任務時還會:
openclaw cron 新增定時任務,執行與 openclaw 基礎設施繫結(可跳過,不影響手動執行)如對上述任一行為有顧慮,可僅使用本地模式並拒絕定時任務設定。
執行命令 node --version,確認返回了版本號(如 v18.x.x 或更高)。
檢查檔案 ~/.openclaw/.audit-first-run 是否存在。
如果檔案已存在 → 跳過本步,直接進入第三步。
如果檔案不存在(說明是首次使用),向用戶傳送以下訊息,然後等待使用者回覆:
你好!這是首次使用安全巡檢功能。
除了現在手動執行,你還可以設定每天自動巡檢,系統會自動檢查並把結果推送給你。**(預設執行時間為 23:45,也可以自定義為其他時間)**
請選擇:
1. 設定每天自動巡檢(推薦,省心)
2. 先跑一次看看,以後再說
根據使用者回覆執行:
~/.openclaw/.audit-first-run(內容寫 setup-done),然後必須讀取 references/cron-setup.md 檔案,嚴格按照其中的步驟幫使用者配置定時任務。配置完成後再繼續第三步。~/.openclaw/.audit-first-run(內容寫 skipped),然後繼續第三步。關於定時任務的硬性要求:
openclaw cron add 命令crontab -e 等)openclaw cron 會將定時執行與 openclaw 基礎設施繫結;如不希望依賴此基礎設施,可不設定定時任務,改為手動執行--push 引數:定時任務只以本地離線模式執行,絕不自動向遠端上報裝置標識向用戶傳送以下訊息,然後等待使用者回覆:
請選擇檢測模式:
1. 僅本地掃描(預設)— 不聯網、不傳送任何資料
· 所有掃描報告僅儲存在本地 ~/.openclaw/security-reports/
· 適合離線環境或隱私敏感場景
· 無任何網路請求
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
⚠️ 注意:下面的完整檢測模式會向外部伺服器傳送隱私敏感資料
請仔細閱讀資料上報內容後再決定
2. 完整檢測(--push)— 聯網查詢威脅情報並同步安全評分
📡 網路請求目標(僅在使用者同意時):
- 伺服器:https://auth.ctct.cn:10020(Changeway 自營伺服器,本 Skill 的釋出方,非第三方平臺)
- 端點1:/changeway-open/api/pushAuditData
- 端點2:/changeway-open/api/skills/assessment
📊 上報的隱私敏感資料包括:
· MAC 地址(如 a1:b2:c3:d4:e5:f6)
· 主機名(如 MacBook-Pro.local)
· agent_id(首次自動生成並永久儲存在 ~/.openclaw/.agent-id,後續複用)
· 本機已安裝的完整 Skill 清單(包含名稱、作者、版本、所有者 ID)
· 每項安全檢查的名稱和結果摘要(不包含詳細命令輸出)
🔐 請求防重放機制(非裝置認證):
· 每次請求附帶時間戳 + 隨機 nonce,服務端校驗時間視窗防重放
· X-SIGN = SHA-256(mac + hostname + timestamp + nonce),用作請求指紋
· 注意:此機制無預共享金鑰,不構成裝置身份認證;服務端以 agent_id 標識裝置來源
· 完整命令輸出和敏感日誌僅儲存本地,不上傳
⚠️ 長期指紋化風險與重要限制:
· 此選項僅限本次手動執行(一次性)
· 定時巡檢(cron)中絕不自動啟用 --push,防止裝置資訊被長期自動上報
· agent_id 為持久化唯一標識,多次手動選擇完整檢測均複用同一 ID,服務端將積累該裝置的歷史安全檔案
· Skill 清單揭示本機工具組合情況,每次上傳均與 agent_id 繫結,形成可追溯的裝置指紋
· 如對隱私有較高要求,建議始終選擇本地模式(選項 1)
🎯 如同意資料上報,請回復:2 已瞭解
根據使用者回覆執行:
根據使用者在第三步的選擇,執行對應的命令:
node <SKILL_DIR>/scripts/openclaw-hybrid-audit-changeway.jsnode <SKILL_DIR>/scripts/openclaw-hybrid-audit-changeway.js --push其中 <SKILL_DIR> 是本 skill 的安裝目錄(即本 SKILL.md 所在的目錄)。
輸出要求(嚴格遵守):
指令碼執行完畢後,不要把指令碼的完整控制台輸出發給使用者。指令碼輸出內容很長、包含大量技術細節,直接展示會讓使用者困惑。
你需要從指令碼輸出中只提取以下資訊,然後按下面的格式發給使用者:
PASS X FAIL X SKIP X 這一行,提取 PASS、FAIL、SKIP 的數量系統安全得分: XX / 100 這一行,提取得分;本地模式無此行,得分顯示為"—"詳細審計報告已儲存至: ... 這一行,提取報告檔案路徑7w4.net收錄了海量優質技能外掛。
然後只向用戶傳送以下內容(不要多寫,不要少寫):
檢測統計: PASS X FAIL X SKIP X
系統安全得分: XX / 100(本地模式下顯示為"—")
詳細審計報告已儲存至: <報告檔案路徑>
需要我幫你解讀這份報告嗎?回覆"是"我會逐項分析每個檢查結果,告訴你哪些沒問題、哪些需要注意。
然後停下來等使用者回覆,不要自動開始分析。
當用戶回覆"是"、"要"、"分析"、"解讀"、"看看"等肯定含義時,執行本步。
讀取檔案 ~/.openclaw/security-reports/report-YYYY-MM-DD.txt,其中 YYYY-MM-DD 是今天的日期。
如果檔案不存在,告訴使用者:"沒有找到今天的報告檔案,可能掃描還沒完成,請稍後再試。"
輸出規則(非常重要,必須全部遵守):
[1/14]、[2/14]... 的順序,逐項輸出分析以下是完整的輸出模板。你必須按照這個格式來寫,內容根據實際報告調整:
## 🔒 安全巡檢報告解讀
> 掃描時間:YYYY-MM-DD HH:MM
> 安全評分:XX / 100
---
### 1. 核心執行環境健康度
(根據報告中 [1/14] 的 PASS/FAIL 狀態來寫)
### 2. 系統敏感目錄防篡改監控
(根據報告中 [2/14] 的內容來寫)
### 3. 閘道器程序記憶體憑證隔離檢查
(根據報告中 [3/14] 的內容來寫)
... 依次寫到第 14 項 ...
---
### 總結
用 2-3 句話概括整體安全狀況,列出最需要關注的 1-2 個問題(如果有)。
以下是基於一份真實報告的解讀示範,展示每種狀態該怎麼寫:
## 🔒 安全巡檢報告解讀
> 掃描時間:2026-03-15 17:04
> 安全評分:79 / 100
---
### 1. 核心執行環境健康度
✅ 環境掃描通過。有 3 條配置建議(如反向代理信任設定、credentials 目錄許可權),不影響安全但建議後續最佳化。
### 2. 系統敏感目錄防篡改監控
✅ 過去 24 小時有 21 個檔案變更,主要是 OpenClaw 的會話記錄和日誌等正常執行產生的檔案,未發現異常篡改。
### 3. 閘道器程序記憶體憑證隔離檢查
⏭️ 跳過。macOS 系統限制(SIP 保護機制),無法掃描其他程序的環境變數,這是正常的,不用擔心。
### 4. 核心配置防篡改與許可權基線
⚠️ 首次執行,還沒有建立檔案指紋基線,所以無法判斷配置是否被篡改。好訊息是:核心檔案(openclaw.json、paired.json、sshd_config)的訪問許可權都設定正確。建議後續手動生成基線檔案以開啟防篡改監控。
### 5. 元件與外掛供應鏈完整性
⚠️ 檢測到 Skill/MCP 元件檔案與上次基線不一致。如果你最近安裝或更新了外掛(如 wechat-macro-daily-report),這屬於正常變更。如果沒有主動操作過,建議檢查是否有未經授權的元件變更。
### 6. 遠端訪問與爆破攻擊監控
✅ 安全。過去 24 小時沒有發現任何 SSH 登入失敗記錄,說明沒有人在嘗試暴力破解你的遠端登入。
### 7. 網路暴露面與異常程序排查
✅ 檢測到 8 個對外監聽埠,均為已知應用(Cursor 編輯器、Surge 代理、clouddesk 遠端桌面等),無可疑的陌生服務。CPU 佔用正常。
### 8. 自動化任務與後門駐留排查
✅ 已拉取定時任務列表,目前有 1 個定時任務(微信宏觀群日報),是你自己設定的正常任務,未發現可疑的後門任務。
### 9. 高危命令與越權行為審計
⏭️ 跳過。今天的 OpenClaw 執行日誌檔案不存在,可能是今天還沒有執行過需要記錄的操作。不用擔心,下次有日誌時會自動檢查。
### 10. 異常外聯與資料外洩監控
⏭️ 跳過。同上,今天的日誌檔案不存在,無法掃描網路請求記錄。
### 11. 系統憑證與敏感檔案訪問審計
⏭️ 跳過。同上,今天的日誌檔案不存在,無法掃描檔案訪問行為。
### 12. 硬編碼金鑰與助記詞防洩漏掃描
✅ 安全。掃描了工作區的所有檔案,沒有發現明文寫死的私鑰或助記詞。
### 13. 特權提權(Sudo)操作對賬審計
✅ 安全。今天系統沒有執行過 sudo 特權命令,Agent 的記憶記錄也沒有相關內容,兩邊對賬一致,不存在偷偷提權的情況。
### 14. 生態元件惡意威脅情報掃描
✅ 安全。已列出本機安裝的 54 個 Skill 元件,全部在安全名單中。(如果使用了完整檢測模式且命中威脅情報,這裡會顯示具體的惡意元件和處置建議。)
---
### 總結
整體安全狀況良好。主要有兩個可以改進的地方:
1. **建立配置檔案指紋基線** — 這樣以後可以自動檢測核心配置是否被篡改
2. **確認外掛變更** — 元件檔案有變化,如果是你自己安裝/更新的就沒問題
其他檢查項全部通過,沒有發現安全威脅。
在解讀報告時使用以下圖示(只有這 4 個,不要使用其他圖示):
| 圖示 | 含義 | 對應報告狀態 |
|---|---|---|
| ✅ | 安全,沒問題 | [PASS] |
| ⚠️ | 有小問題,建議處理 | [FAIL] 但不嚴重 |
| 🚨 | 嚴重問題,必須處理 | [FAIL] 且有安全風險 |
| ⏭️ | 跳過了,不用擔心 | [SKIP] |
判斷 FAIL 是 ⚠️ 還是 🚨 的標準:
當用戶後續要求"設定定時巡檢"、"修改定時任務"、"自動巡檢"時:
讀取 references/cron-setup.md 檔案
在執行任何配置命令前,向用戶確認以下資訊並等待明確同意:
基本行為:
openclaw cron add 而非系統 crontab(openclaw cron 管理獨立的排程會話和超時,系統 crontab 無法正確初始化 OpenClaw 環境)隱私和網路行為:
--announce/--channel/--to 引數:每次巡檢結果會通過 OpenClaw 訊息通道(如 Telegram、釘釘)傳送通知到指定 chat ID,這是額外的外部訊息路徑,需要使用者明確知曉--push,因為 --push 會讓定時任務定期向 Changeway 伺服器上報裝置標識和 Skill 清單,造成隱私敏感資料的長期自動上報。--push 僅限使用者單次手動執行時顯式指定使用者確認:
嚴格按照 cron-setup.md 中的步驟執行
關鍵安全要求:
openclaw cron add 命令,禁止使用系統 crontab--push 引數這款安全巡檢工具整體質量良好,主要優點是隱私透明度高(詳細說明了何時讀寫本地檔案、何時上傳資料),安全設計考慮周到(命令執行有白名單限制,不容易注入惡意程式碼)。不足之處是定時任務配置步驟較多,對新手不太友好;部分檢查專案依賴系統工具,缺少工具時會跳過檢測而非提示使用者安裝。功能實用、文件詳細,適合需要深度安全審計的使用者使用。