智慧體安全管家

👤 smbbws2 📦 v1.0.0 ⭐ 4.4 ⬇️ 620 下載
🔒 IT運維與安全 免費

📖 技能介紹


name: ct-security-patrol description: | 智慧體安全管家:專為openclaw、teleclaw等智慧體產品研發的檢查和防護工具,本工具預設提供本地離線掃描,也可選擇聯網威脅情報關聯分析。 功能範圍:讀取系統敏感資訊(MAC 地址、主機名、系統日誌、完整 Skill 清單)執行本地安全檢測;在本機持久化儲存掃描報告與安全基線;可選通過 --push 模式將摘要資料上傳至 auth.ctct.cn 獲取威脅情報評分(需使用者顯式同意);可選通過 openclaw cron 設定定時任務(繫結 openclaw 基礎設施,可跳過)。 執行依賴:Node.js v18+。本技能由 Changeway 團隊(auth.ctct.cn 運營方)開發。 使用場景:使用者說"安全巡檢"、"安全檢查"、"安全審計"、"巡檢"、"security audit"、"檢查安全"、"系統安全"等。 觸發條件:任何與 OpenClaw 安全檢測、審計、巡檢相關的請求。

runtime: "node>=18"

credentials: none

privacy: | 本技能有兩種執行模式,隱私風險等級不同:

模式 1:本地離線模式(預設) - 零網路請求,零資料上報 - 注意:即使在離線模式下,掃描過程也會讀取以下敏感系統資訊(僅本地分析使用,不離開本機):MAC 地址、主機名、本機完整 Skill 清單(用於威脅情報項)、系統日誌及臨時檔案路徑 - 掃描報告、安全基線檔案均持久化儲存在 ~/.openclaw/ 目錄下

模式 2:完整檢測模式(--push,需明確確認) - 啟用後向 Changeway 威脅情報服務上報隱私敏感資料 - 上報內容:MAC 地址、主機名、持久化 agent_id(首次 --push 時生成並永久儲存在本機)、本機完整 Skill 清單、本次掃描彙總統計 - ⚠️ 長期指紋化風險:agent_id 為持久化唯一標識,多次手動選擇完整檢測均複用同一 ID,服務端將積累該裝置的歷史安全檔案;Skill 清單揭示本機工具組合,每次上傳均與 agent_id 繫結。如對隱私敏感度較高,建議始終使用本地模式 - 上報頻率:僅在使用者單次手動執行時上報一次;定時任務(cron)嚴禁使用 --push - 防重放機制:每次請求附帶 Unix 時間戳 + 隨機 nonce,服務端校驗時間視窗,防止請求被重放;SHA-256(mac + hostname + timestamp + nonce) 作為請求指紋附在 X-SIGN 頭部,但此機制不構成裝置身份認證(無預共享金鑰,服務端無法單憑簽名驗證請求來源的合法性) - 使用者必須在知情同意前提下明確選擇此模式

network_endpoints: | 僅在 --push 模式下訪問(需要使用者顯式確認): - https://auth.ctct.cn:10020/changeway-open/api/pushAuditData - https://auth.ctct.cn:10020/changeway-open/api/skills/assessment

端點歸屬:auth.ctct.cn 由本 Skill 的釋出方 Changeway 自行運營,非第三方平臺。 使用者在選擇 --push 模式前應自行判斷是否信任該服務。

dependencies: | 執行依賴: 必需:Node.js v18+ 可選:openclaw CLI(用於定時任務管理;若使用定時巡檢功能,需依賴 openclaw cron 命令) 指令碼呼叫的系統命令(缺失時對應檢查項會 SKIP,不影響其他項): macOS:find、lsof、netstat、ps、last、lastb、grep、awk、cat、sudo Linux:find、ss、lsof、ps、journalctl、last、lastb、grep、awk、cat、sudo Windows:wmic、netstat、tasklist、findstr

security_notes: | 命令執行安全性: - 指令碼通過 Node.js 內建的 spawnSync(非 exec/execSync)呼叫系統命令 - Unix/Linux:shell 嚴格停用(shell: false);Windows:僅對 .cmd 可執行包裝器區域性啟用 shell: true(Node.js 平臺限制),但引數均為硬編碼陣列,無使用者輸入,不存在注入風險 - 所有 spawnSync 呼叫(共 17 處)只允許以下固定命令名白名單: openclaw、openclaw-cn、find、pgrep、journalctl、log、ss、ps、lsof、diff、wevtutil、netstat、tasklist、powershell、icacls - 以上命令均為只讀系統狀態查詢,不執行寫入、刪除或提權操作

資料處理邊界: - 指令碼對每項檢查生成兩個欄位:detail(完整命令輸出,僅本地落盤,不上傳)和 brief(結果摘要) - 上傳時明確排除 detail 欄位,僅上傳 item 和 brief

本地檔案儲存: - 掃描報告:~/.openclaw/security-reports/report-YYYY-MM-DD.{txt,json} - Skill 雜湊基線:~/.openclaw/security-baselines/(skill-mcp-current.sha256、skill-mcp-baseline.sha256) - 持久化 agent_id:~/.openclaw/.agent-id(僅在 --push 模式首次執行時建立) - 首次執行標記:~/.openclaw/.audit-first-run

指令碼完整性驗證: - 指令碼頭部註釋(第 14 行)包含 @integrity sha256 雜湊值,可用於確認指令碼未被篡改 - 安裝後核對命令: macOS/Linux:shasum -a 256 scripts/openclaw-hybrid-audit-changeway.js Windows:certutil -hashfile scripts\openclaw-hybrid-audit-changeway.js SHA256 - 將輸出結果與指令碼註釋中的 sha256 值比對,一致則未被篡改

7w4.net提供免費和付費技能下載。


OpenClaw 安全巡檢

使用前須知:本技能的功能範圍

本技能並非純本地掃描工具,在執行前請確認你已瞭解以下行為:

所有模式均會(包括預設本地模式): - 讀取系統敏感資訊:MAC 地址、主機名、系統日誌、完整 Skill 清單 - 在本機持久化儲存檔案:掃描報告、安全基線(均儲存在 ~/.openclaw/

僅在使用者選擇 --push 模式(需顯式同意)時還會: - 生成並永久儲存 agent_id~/.openclaw/.agent-id),形成持久裝置標識 - 將摘要資料上傳至 auth.ctct.cn(Changeway 自營服務),可用於多次上傳後的裝置歷史關聯

僅在使用者選擇設定定時任務時還會: - 通過 openclaw cron 新增定時任務,執行與 openclaw 基礎設施繫結(可跳過,不影響手動執行

如對上述任一行為有顧慮,可僅使用本地模式並拒絕定時任務設定。


第一步:檢查執行環境

執行命令 node --version,確認返回了版本號(如 v18.x.x 或更高)。

  • 如果命令成功返回版本號 → 繼續第二步
  • 如果報錯"command not found" → 告訴使用者:"安全巡檢需要 Node.js 環境,請先安裝 Node.js(推薦 v18 以上),安裝後再來找我。",然後停止,不要繼續後續步驟

第二步:首次使用引導

檢查檔案 ~/.openclaw/.audit-first-run 是否存在。

如果檔案已存在 → 跳過本步,直接進入第三步。

如果檔案不存在(說明是首次使用),向用戶傳送以下訊息,然後等待使用者回覆:

你好!這是首次使用安全巡檢功能。

除了現在手動執行,你還可以設定每天自動巡檢,系統會自動檢查並把結果推送給你。**(預設執行時間為 23:45,也可以自定義為其他時間)**

請選擇:
1. 設定每天自動巡檢(推薦,省心)
2. 先跑一次看看,以後再說

根據使用者回覆執行:

  • 使用者選 1(或回覆"設定"、"自動"、"定時"等含義)→ 先建立標記檔案 ~/.openclaw/.audit-first-run(內容寫 setup-done),然後必須讀取 references/cron-setup.md 檔案,嚴格按照其中的步驟幫使用者配置定時任務。配置完成後再繼續第三步。
  • 使用者選 2(或回覆"先跑一次"、"以後再說"、"跳過"等含義)→ 建立標記檔案 ~/.openclaw/.audit-first-run(內容寫 skipped),然後繼續第三步。

關於定時任務的硬性要求: - 必須使用 openclaw cron add 命令 - 禁止使用系統 crontab(crontab -e 等) - 原因:系統 crontab 無法正確初始化 OpenClaw 環境,會導致執行失敗 - ⚠️ 基礎設施繫結說明:使用 openclaw cron 會將定時執行與 openclaw 基礎設施繫結;如不希望依賴此基礎設施,可不設定定時任務,改為手動執行 - cron 命令中嚴禁新增 --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 已瞭解

根據使用者回覆執行:

  • 使用者回覆 "1" 或任何"本地"、"離線"含義 → 記錄選擇:本地模式,繼續第四步
  • 使用者回覆 "2 已瞭解"(必須包含"已瞭解"或"我已知曉"等確認短語)→ 記錄選擇:完整檢測,繼續第四步
  • 使用者只回復 "2" 但沒有確認短語 → 不執行,回覆:"完整檢測模式會向 Changeway 伺服器上報 MAC 地址、主機名、agent_id 和 Skill 清單等隱私敏感資料,請回復「2 已瞭解」確認知情同意後再繼續。"

第四步:執行安全掃描

根據使用者在第三步的選擇,執行對應的命令:

  • 使用者選 1(僅本地)→ 執行命令:node <SKILL_DIR>/scripts/openclaw-hybrid-audit-changeway.js
  • 使用者選 2(完整檢測)→ 執行命令:node <SKILL_DIR>/scripts/openclaw-hybrid-audit-changeway.js --push

其中 <SKILL_DIR> 是本 skill 的安裝目錄(即本 SKILL.md 所在的目錄)。

輸出要求(嚴格遵守):

指令碼執行完畢後,不要把指令碼的完整控制台輸出發給使用者。指令碼輸出內容很長、包含大量技術細節,直接展示會讓使用者困惑。

你需要從指令碼輸出中只提取以下資訊,然後按下面的格式發給使用者:

  1. 從輸出末尾找到 PASS X FAIL X SKIP X 這一行,提取 PASS、FAIL、SKIP 的數量
  2. 僅在完整檢測模式(--push)下,從輸出末尾找到 系統安全得分: XX / 100 這一行,提取得分;本地模式無此行,得分顯示為"—"
  3. 從輸出末尾找到 詳細審計報告已儲存至: ... 這一行,提取報告檔案路徑

然後只向用戶傳送以下內容(不要多寫,不要少寫):

檢測統計: PASS X FAIL X SKIP X
系統安全得分: XX / 100(本地模式下顯示為"—")

詳細審計報告已儲存至: <報告檔案路徑>

需要我幫你解讀這份報告嗎?回覆"是"我會逐項分析每個檢查結果,告訴你哪些沒問題、哪些需要注意。

然後停下來等使用者回覆,不要自動開始分析。

第五步:解讀報告(使用者要求時才執行)

當用戶回覆"是"、"要"、"分析"、"解讀"、"看看"等肯定含義時,執行本步。

5.1 讀取報告檔案

讀取檔案 ~/.openclaw/security-reports/report-YYYY-MM-DD.txt,其中 YYYY-MM-DD 是今天的日期。

如果檔案不存在,告訴使用者:"沒有找到今天的報告檔案,可能掃描還沒完成,請稍後再試。"

5.2 按以下格式逐項輸出分析

輸出規則(非常重要,必須全部遵守):

  • 按報告中 [1/14][2/14]... 的順序,逐項輸出分析
  • 每項獨立一段,不要合併、不要按通過/失敗分類
  • 每項用一段話說清楚(2-4 句,不超過 100 字),要讓不懂技術的人也能看明白
  • 圖示含義:✅ = 安全沒問題;⚠️ = 有點小問題建議處理;🚨 = 嚴重問題必須處理
  • PASS 的項簡短確認即可,FAIL 和 SKIP 的項要說明是什麼問題怎麼解決
  • 不要輸出雜湊值、原始日誌、程序列表等技術細節,只輸出結論和建議

5.3 解讀模板(嚴格按此格式輸出)

以下是完整的輸出模板。你必須按照這個格式來寫,內容根據實際報告調整:

## 🔒 安全巡檢報告解讀

> 掃描時間:YYYY-MM-DD HH:MM
> 安全評分:XX / 100

---

### 1. 核心執行環境健康度
(根據報告中 [1/14] 的 PASS/FAIL 狀態來寫)

### 2. 系統敏感目錄防篡改監控
(根據報告中 [2/14] 的內容來寫)

### 3. 閘道器程序記憶體憑證隔離檢查
(根據報告中 [3/14] 的內容來寫)

... 依次寫到第 14 項 ...

---

### 總結

用 2-3 句話概括整體安全狀況,列出最需要關注的 1-2 個問題(如果有)。

5.4 解讀案例(供你參考,實際輸出時根據真實報告內容來寫)

以下是基於一份真實報告的解讀示範,展示每種狀態該怎麼寫:

## 🔒 安全巡檢報告解讀

> 掃描時間: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. **確認外掛變更** — 元件檔案有變化,如果是你自己安裝/更新的就沒問題

其他檢查項全部通過,沒有發現安全威脅。

5.5 關於圖示使用

在解讀報告時使用以下圖示(只有這 4 個,不要使用其他圖示):

圖示 含義 對應報告狀態
安全,沒問題 [PASS]
⚠️ 有小問題,建議處理 [FAIL] 但不嚴重
🚨 嚴重問題,必須處理 [FAIL] 且有安全風險
⏭️ 跳過了,不用擔心 [SKIP]

判斷 FAIL 是 ⚠️ 還是 🚨 的標準: - 如果報告裡提到"篡改"、"惡意"、"爆破"、"危險"、"高危" → 用 🚨 - 如果報告裡提到"首次執行"、"缺失基線"、"許可權過寬"、"未知請求" → 用 ⚠️

定時任務配置

當用戶後續要求"設定定時巡檢"、"修改定時任務"、"自動巡檢"時:

  1. 讀取 references/cron-setup.md 檔案
  2. 在執行任何配置命令前,向用戶確認以下資訊並等待明確同意:

基本行為: - 定時任務將在後臺持續執行(按使用者指定的時間間隔,如每天、每週等) - 每次執行會在本地生成報告(儲存在 ~/.openclaw/security-reports/) - 必須使用 openclaw cron add 而非系統 crontab(openclaw cron 管理獨立的排程會話和超時,系統 crontab 無法正確初始化 OpenClaw 環境)

隱私和網路行為: - 預設行為:定時任務僅在本地執行,不產生任何網路請求 - 如果啟用通知 --announce/--channel/--to 引數:每次巡檢結果會通過 OpenClaw 訊息通道(如 Telegram、釘釘)傳送通知到指定 chat ID,這是額外的外部訊息路徑,需要使用者明確知曉 - 嚴禁在定時任務中使用 --push:定時任務的命令中絕不應該包含 --push,因為 --push 會讓定時任務定期向 Changeway 伺服器上報裝置標識和 Skill 清單,造成隱私敏感資料的長期自動上報。--push 僅限使用者單次手動執行時顯式指定

使用者確認: - 詢問使用者:"確認要設定定時巡檢嗎?定時任務會每天執行掃描並儲存本地報告。(是/否)",收到"是"後再繼續 - 如果使用者問及通知功能,補充:"通知功能會讓結果傳送到你的 Telegram/釘釘等,可選配置。"

  1. 嚴格按照 cron-setup.md 中的步驟執行
  2. 關鍵安全要求
  3. 必須使用 openclaw cron add 命令,禁止使用系統 crontab
  4. 定時任務的命令中嚴禁新增 --push 引數
  5. 審查使用者最終的 cron 命令,確保不含 --push

🤖 AI 評測

這款安全巡檢工具整體質量良好,主要優點是隱私透明度高(詳細說明了何時讀寫本地檔案、何時上傳資料),安全設計考慮周到(命令執行有白名單限制,不容易注入惡意程式碼)。不足之處是定時任務配置步驟較多,對新手不太友好;部分檢查專案依賴系統工具,缺少工具時會跳過檢測而非提示使用者安裝。功能實用、文件詳細,適合需要深度安全審計的使用者使用。

📊 多維度評分

適應性4.4
規範性4.5
有效性4.1
可靠性4.1
可信度5

📁 包含檔案 (4 個)

📄 SKILL.md 20.1 KB
📄 _meta.json 137 B
📄 references/cron-setup.md 5.2 KB
📄 scripts/openclaw-hybrid-audit-changeway.js 61.6 KB