name: security-audit-hand version: 1.0.0 description: 自主安全審計 - 定期檢查系統安全、發現風險、生成報告 runtime: prompt_only
自主定期安全檢查: - 系統漏洞掃描 - 配置審計 - 許可權檢查 - 日誌分析 - 風險報告
靈感來源: OpenFang 16 層安全模型
小蔥技能7w4.net有更新,你可以訪問看下。
| # | 檢查項 | OpenFang 實現 | 我的實現 |
|---|---|---|---|
| 1 | 沙箱隔離 | WASM 雙計量 | exec 允許列表 |
| 2 | 審計追蹤 | Merkle 雜湊鏈 | 日誌檔案 |
| 3 | 汙點追蹤 | 資訊流標籤 | 敏感資料掃描 |
| 4 | 身份簽名 | Ed25519 | ⏳ 待實現 |
| 5 | SSRF 防護 | 私有 IP 阻止 | URL 白名單 |
| 6 | 秘密零化 | Zeroizing | ⏳ 待實現 |
| 7 | 雙向認證 | HMAC-SHA256 | Token 認證 |
| 8 | 能力門控 | RBAC | 工具配置檔案 |
| 9 | 安全頭 | CSP/HSTS | N/A |
| 10 | 端點脫敏 | 最小化資訊 | ✅ 已實現 |
| 11 | 程序沙箱 | env_clear | ✅ 已實現 |
| 12 | 注入掃描 | 提示詞檢測 | ✅ 已實現 |
| 13 | 迴圈守衛 | SHA256 檢測 | ✅ 已實現 |
| 14 | 會話修復 | 7 階段驗證 | ✅ 已實現 |
| 15 | 路徑遍歷 | 規範化 + 符號連結 | ✅ 已實現 |
| 16 | 限流 | GCRA | ⏳ 待實現 |
1. memory_recall `security_audit_state`
2. 讀取歷史報告 `security_reports/`
3. 載入基線配置 `security_baseline.json`
# 系統資訊
uname -a
whoami
pwd
df -h
free -h
# 網路資訊
netstat -tlnp
curl ifconfig.me
# OpenClaw 狀態
openclaw gateway status
openclaw --version
檢查 ~/.openclaw/openclaw.json:
- [ ] auth.token 是否設定
- [ ] gateway.bind 是否安全 (loopback/lan)
- [ ] tools.deny 是否配置
- [ ] session.dmScope 是否安全
- [ ] 敏感資訊是否明文
# 檔案許可權
ls -la ~/.openclaw/
ls -la ~/.openclaw/workspace/
# API Key 許可權
cat ~/.openclaw/.api-keys.md | grep -E "sk-|nvapi-"
# 程序許可權
ps aux | grep openclaw
# 檢查異常日誌
grep -i "error\|fail\|unauthorized" /tmp/openclaw/*.log
# 檢查頻繁錯誤
grep -c "error" /tmp/openclaw/openclaw-*.log
# 檢查敏感資訊洩露
grep -E "sk-[a-zA-Z0-9]+" /tmp/openclaw/*.log
每個風險評分 (0-100):
- 嚴重性:+40 (高/中/低)
- 可能性:+30 (高/中/低)
- 影響範圍:+20 (系統/應用/資料)
- 可修復性:+10 (易/中/難)
風險等級:
- 🔴 高危:≥80 分
- 🟠 中危:50-79 分
- 🟡 低危:<50 分
# 安全審計報告
## 執行摘要
- 審計時間:[日期]
- 發現風險:N 個 (🔴X 🟠Y 🟡Z)
- 整體安全評分:X/100
## 發現的風險
### 🔴 高危風險 1: [名稱]
**描述**: [詳細說明]
**影響**: [可能的後果]
**修復建議**: [具體步驟]
**優先順序**: 立即修復
### 🟠 中危風險 2: [名稱]
...
## 安全評分趨勢
[與歷史審計對比]
## 修復計劃
[按優先順序排序的待辦事項]
# 安全審計報告
**審計日期**: 2026-03-02
**審計範圍**: OpenClaw 系統 + 伺服器配置
**審計工具**: security-audit-hand v1.0
---
## 執行摘要
| 指標 | 值 |
|------|------|
| 整體安全評分 | 75/100 |
| 發現風險數 | 5 個 |
| 🔴 高危 | 0 個 |
| 🟠 中危 | 2 個 |
| 🟡 低危 | 3 個 |
| 上次審計 | 2026-02-26 |
---
## 發現的風險
### 🟠 中危風險 1: API Key 明文儲存
**檔案**: `~/.openclaw/openclaw.json`
**問題**: API Key 以明文形式儲存在配置檔案中
**影響**: 如果配置檔案洩露,攻擊者可使用 API Key
**修復建議**:
```bash
# 1. 使用環境變數
export DASHSCOPE_API_KEY="sk-xxx"
# 2. 或使用加密儲存
openclaw secrets add dashscope_api_key
# 3. 修改配置檔案
{
"models": {
"providers": {
"dashscope": {
"apiKey": "${DASHSCOPE_API_KEY}"
}
}
}
}
優先順序: 本週內修復
配置: gateway.bind = "lan"
問題: Gateway 監聽所有網路介面 (0.0.0.0)
影響: 同一網路內的裝置可訪問 Gateway
修復建議:
// 如果不需要遠端訪問
{
gateway: {
bind: "loopback" // 僅監聽 127.0.0.1
}
}
// 如果需要遠端訪問,使用 Tailscale
{
gateway: {
bind: "lan",
tailscale: {
mode: "on"
}
}
}
優先順序: 本週內修復
問題: tools.deny 未配置
影響: 預設允許所有工具,可能誤用危險工具
修復建議:
{
tools: {
deny: ["group:runtime"], // 禁止 exec/bash
}
}
2026-02-26: 70/100
2026-03-02: 75/100 (+5)
改進: - ✅ 配置了會話維護 - ✅ 啟用了迴圈檢測 - ⏳ 待修復:API Key 儲存
openclaw security audit
openclaw doctor
openclaw gateway status --deep
---
## 🔧 配置選項
```toml
# 審計頻率
audit_schedule = "weekly" # daily/weekly/monthly
# 風險閾值
high_risk_threshold = 80
medium_risk_threshold = 50
# 報告設定
report_format = "markdown"
save_history = true
history_retention_days = 90
# 通知設定
notify_on_high_risk = true
notify_channel = "feishu"
{
"security_audit_score": 75,
"security_audit_last_date": "2026-03-02",
"security_high_risks": 0,
"security_medium_risks": 2,
"security_low_risks": 3,
"security_reports_generated": 1,
"security_fixes_applied": 0
}
openfang hand activate security-audit
幫我做一次全面的安全審計
現在的安全評分是多少?
每週一早上 9 點自動審計
此 Skill 受 OpenFang Security Model 啟發建立
這個安全審計助手設計思路不錯,框架清晰、檢查清單全面,能幫助使用者系統性地進行安全檢查和報告生成。但它本質上是份詳細的操作指南,不是真正能自動掃描的工具,實際使用時需要配合其他工具手動執行各項檢查。對於想要自動化完成安全審計的使用者來說,這個 Skill 的幫助可能比較有限。