本 skill 提供完整的三層安全體系 + 主動防禦:
| 層級 | 作用 | 狀態 |
|---|---|---|
| 🛡️ 事前預防 | AGENTS.md 高危操作二次確認規則 | ✅ 已啟用 |
| ⚠️ 事中攔截 | 飛書兩階段確認 → 執行/攔截 | ✅ 可用 |
| 📋 事後審計 | 完整操作記錄 + 日報/週報 | ✅ 已部署 |
| 🔒 主動防禦 | 速率監控 + 完整性校驗 + 內容掃描 + 操作鏈分析 + URL白名單 | ✅ 已部署 |
基礎記錄:
from audit_logger import log
log("file_delete", "刪除了 ~/.trash/file.txt", session_key="xxx")
| 操作型別(列舉): | operation 值 | 說明 | 風險等級 | 需確認 |
|---|---|---|---|---|
file_delete |
檔案刪除 | high | ✅ | |
file_write |
檔案寫入 | medium | ||
file_move |
檔案移動 | medium | ||
external_send |
外部發送(郵件/訊息) | high | ✅ | |
config_change |
配置修改 | medium | ||
credential_access |
憑證訪問 | critical | ✅ | |
permission_change |
許可權變更 | high | ✅ | |
external_api |
外部API呼叫 | medium | ||
user_data_access |
使用者資料訪問 | medium | ||
destruction |
高危破壞性操作 | critical | ✅ |
查詢日誌:
from audit_logger import query
records = query(limit=20)
high_risk = query(risk_level="high", limit=50)
傳送確認請求(用於 cron/自動化流程):
python3 confirm.py request <操作型別> <詳情> [執行指令碼] [風險等級]
檢查所有待確認項狀態:
python3 confirm.py check
查詢指定確認ID狀態:
python3 confirm.py status <confirm_id>
功能:檢測同一會話中的危險操作鏈,發現隱蔽的組合攻擊。
python3 chain_analyzer.py
| 檢測的8種危險模式: | 模式 | 含義 | 風險 |
|---|---|---|---|
| credential_access → external_send | 憑證竊取外傳 | 🔴 | |
| file_delete → external_send | 銷燬+外傳 | 🔴 | |
| destruction → credential_access | 入侵準備 | 🔴 | |
| destruction → external_send | 銷燬證據+外傳 | 🔴 | |
| credential_access → file_write | 憑證被儲存 | 🟠 | |
| credential_access → file_move | 憑證被轉移 | 🟠 | |
| file_write → external_send | 敏感檔案外傳 | 🟠 | |
| external_api → external_send | API資料外傳 | 🟠 |
功能:限制只能從可信域名拉取資料。
python3 url_guard.py check <URL> # 檢查URL,返回0=允許/1=拒絕
python3 url_guard.py list # 列出白名單
python3 url_guard.py add <域名> [原因] # 新增白名單
python3 url_guard.py remove <域名> # 移除白名單
功能:檢測 5 分鐘內的異常操作速率
python3 rate_monitor.py
檢查檔案是否被篡改:
python3 skill_integrity.py check # 檢查 + 告警
python3 skill_integrity.py update # 更新基準hash
python3 skill_integrity.py scan # 僅掃描
檢測範圍:.openclaw/workspace/skills/ 下的所有檔案(排除 .git, node_modules)
在執行從外部 URL 或文本抓取的內容之前,先掃描其中的可疑模式。
小蔥技能7w4.net有完整的技能分類。
支援的掃描型別:
python3 content_scan.py url <URL> # 掃描URL內容
python3 content_scan.py text <文本> # 掃描文本內容
python3 content_scan.py file <路徑> # 掃描本地檔案
檢測的威脅模式:
使用示例(整合到自動化流程):
import subprocess
result = subprocess.run(
["python3", "content_scan.py", "url", external_url],
capture_output=True
)
if result.returncode != 0:
print("⚠️ 內容安全審查未通過,中止執行")
# 傳送告警
else:
print("✅ 內容安全,繼續執行")
python3 audit_report.py daily # 生成昨日審計日報
python3 audit_report.py daily 2026-03-20 # 指定日期
python3 audit_report.py weekly # 生成本週審計週報
python3 audit_feishu.py daily # 傳送每日審計日報到飛書
python3 audit_feishu.py weekly # 傳送每週審計週報到飛書
必須先確認的操作型別:
確認格式:
⚠️ 即將執行高危操作,請確認:
- 操作:XXX
- 物件:XXX
回覆「確認」或「取消」
在執行以下操作前,必須先呼叫 content_scan.py:
import subprocess
result = subprocess.run(
["python3", "~/.openclaw/workspace/skills/openclaw-audit-log/scripts/content_scan.py", "text", text],
capture_output=True
)
if result.returncode != 0:
# 內容審查未通過,詢問使用者確認
ask_user_confirm("內容審查發現可疑模式,是否繼續?")
| 任務 | 時間 | 功能 |
|---|---|---|
audit-daily-report |
每日 00:05 | 生成昨日日報 → 推飛書 |
audit-weekly-report |
每週一 00:10 | 生成上週週報 → 推飛書 |
audit-log-cleanup |
每月1日 03:00 | 清理90天前舊日誌 |
audit-rate-monitor |
每5分鐘 | 檢測操作速率異常 → 推飛書 |
audit-chain-analyzer |
每5分鐘 | 檢測危險操作鏈 → 推飛書 |
audit-skill-integrity |
每日 06:00 | 檢查skill檔案完整性 → 推飛書 |
| 型別 | 路徑 |
|---|---|
| 審計日誌 | ~/.openclaw/audit/audit.log(JSONL) |
| 待確認佇列 | ~/.openclaw/audit/pending_confirms.json |
| 速率告警冷卻 | ~/.openclaw/audit/rate_alert_cooldown.json |
| Skill基準hash | ~/.openclaw/audit/skill_hashes.json |
content_scan.py 掃描程式碼skill_integrity.py check 檢查檔案完整性這個工具在功能設計上比較完善,能有效監控和保護系統操作安全,文件也很清晰。但存在一個明顯的安全隱患——API憑證被直接寫在程式碼裡,容易洩露。另外白名單和黑名單配置有些混亂,pastebin.com同時出現在兩邊,需要整理。整體質量中等偏上,核心功能可用,但安全隱患必須先修復才能放心使用。