Security Audit Hand - 自主安全审计
🎯 核心功能
自主定期安全检查:
灵感来源: OpenFang 16 层安全模型
🛡️ 审计框架 (基于 OpenFang)
16 层安全检查
| # | 检查项 | 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 | ⏳ 待实现 |
🔍 审计流程 (7 阶段)
Phase 1: 状态恢复
CODEBLOCK0
Phase 2: 系统信息收集
CODEBLOCK1
Phase 3: 配置审计
CODEBLOCK2
Phase 4: 权限检查
CODEBLOCK3
Phase 5: 日志分析
CODEBLOCK4
Phase 6: 风险评估
CODEBLOCK5
Phase 7: 生成报告
# 安全审计报告
## 执行摘要
- 审计时间:[日期]
- 发现风险:N 个 (🔴X 🟠Y 🟡Z)
- 整体安全评分:X/100
## 发现的风险
### 🔴 高危风险 1: [名称]
**描述**: [详细说明]
**影响**: [可能的后果]
**修复建议**: [具体步骤]
**优先级**: 立即修复
### 🟠 中危风险 2: [名称]
...
## 安全评分趋势
[与历史审计对比]
## 修复计划
[按优先级排序的待办事项]
📊 检查清单
🔐 认证安全
- - [ ] API Key 是否使用环境变量
- [ ] Token 是否定期轮换
- [ ] 是否启用双因素认证
- [ ] 密码是否足够复杂
🔒 数据安全
- - [ ] 敏感文件是否加密
- [ ] 数据库是否加密
- [ ] 传输是否使用 HTTPS
- [ ] 备份是否安全
🛡️ 网络安全
- - [ ] 防火墙是否开启
- [ ] 不必要端口是否关闭
- [ ] SSH 是否使用密钥认证
- [ ] 是否使用 VPN/Tailscale
📁 文件安全
- - [ ] 敏感文件权限是否正确 (600)
- [ ] 是否有世界可读文件
- [ ] 是否有 SUID/SGID 文件
- [ ] 临时文件是否清理
🧩 应用安全
- - [ ] OpenClaw 是否最新版本
- [ ] Skills 是否来自可信源
- [ ] 是否配置工具黑名单
- [ ] 是否启用会话维护
📋 报告模板
CODEBLOCK7 bash
1. 使用环境变量
export DASHSCOPE
APIKEY="sk-xxx"
2. 或使用加密存储
openclaw secrets add dashscope
apikey
3. 修改配置文件
{
"models": {
"providers": {
"dashscope": {
"apiKey": "${DASHSCOPE
APIKEY}"
}
}
}
}
**优先级**: 本周内修复
---
### 🟠 中危风险 2: Gateway 绑定到 LAN
**配置**: `gateway.bind = "lan"`
**问题**: Gateway 监听所有网络接口 (0.0.0.0)
**影响**: 同一网络内的设备可访问 Gateway
**修复建议**:
json5
// 如果不需要远程访问
{
gateway: {
bind: "loopback" // 仅监听 127.0.0.1
}
}
// 如果需要远程访问,使用 Tailscale
{
gateway: {
bind: "lan",
tailscale: {
mode: "on"
}
}
}
**优先级**: 本周内修复
---
### 🟡 低危风险 1: 未配置工具黑名单
**问题**: `tools.deny` 未配置
**影响**: 默认允许所有工具,可能误用危险工具
**修复建议**:
json5
{
tools: {
deny: ["group:runtime"], // 禁止 exec/bash
}
}
---
## 安全评分趋势
2026-02-26: 70/100
2026-03-02: 75/100 (+5)
**改进**:
- ✅ 配置了会话维护
- ✅ 启用了循环检测
- ⏳ 待修复:API Key 存储
---
## 修复计划
### 立即修复 (本周)
- [ ] API Key 改用环境变量
- [ ] Gateway 绑定改为 loopback
### 短期修复 (本月)
- [ ] 配置工具黑名单
- [ ] 启用 Tailscale 远程访问
- [ ] 配置定期安全审计
### 长期改进 (下季度)
- [ ] 实现 Merkle 审计日志
- [ ] 添加污点追踪
- [ ] 实现秘密零化
---
## 附录
### 审计命令
bash
openclaw security audit
openclaw doctor
openclaw gateway status --deep
### 参考文档
- OpenFang Security Model: 16 layers
- OpenClaw Security: /gateway/security
- Server Hardening: /skills/healthcheck
🔧 配置选项
CODEBLOCK13
📊 仪表盘指标
CODEBLOCK14
🎯 使用示例
激活 Hand
CODEBLOCK15
手动触发审计
CODEBLOCK16
查看安全评分
CODEBLOCK17
定期检查
每周一早上 9 点自动审计
📝 从 OpenFang 借鉴
- 1. ✅ 16 层安全模型 (完整采用)
- ✅ 自主定期审计 (适配实现)
- ✅ 风险评分系统 (直接采用)
- ✅ 审计报告模板 (优化适配)
- ✅ 仪表盘指标 (简化实现)
此 Skill 受 OpenFang Security Model 启发创建
Security Audit Hand - 自主安全审计
🎯 核心功能
自主定期安全检查:
灵感来源: OpenFang 16 层安全模型
🛡️ 审计框架 (基于 OpenFang)
16 层安全检查
| # | 检查项 | 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 | ⏳ 待实现 |
🔍 审计流程 (7 阶段)
Phase 1: 状态恢复
- 1. memoryrecall securityauditstate
- 读取历史报告 securityreports/
- 加载基线配置 security_baseline.json
Phase 2: 系统信息收集
bash
系统信息
uname -a
whoami
pwd
df -h
free -h
网络信息
netstat -tlnp
curl ifconfig.me
OpenClaw 状态
openclaw gateway status
openclaw --version
Phase 3: 配置审计
json
检查 ~/.openclaw/openclaw.json:
- - [ ] auth.token 是否设置
- [ ] gateway.bind 是否安全 (loopback/lan)
- [ ] tools.deny 是否配置
- [ ] session.dmScope 是否安全
- [ ] 敏感信息是否明文
Phase 4: 权限检查
bash
文件权限
ls -la ~/.openclaw/
ls -la ~/.openclaw/workspace/
API Key 权限
cat ~/.openclaw/.api-keys.md | grep -E sk-|nvapi-
进程权限
ps aux | grep openclaw
Phase 5: 日志分析
bash
检查异常日志
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
Phase 6: 风险评估
每个风险评分 (0-100):
- - 严重性:+40 (高/中/低)
- 可能性:+30 (高/中/低)
- 影响范围:+20 (系统/应用/数据)
- 可修复性:+10 (易/中/难)
风险等级:
- - 🔴 高危:≥80 分
- 🟠 中危:50-79 分
- 🟡 低危:<50 分
Phase 7: 生成报告
markdown
安全审计报告
执行摘要
- - 审计时间:[日期]
- 发现风险:N 个 (🔴X 🟠Y 🟡Z)
- 整体安全评分:X/100
发现的风险
🔴 高危风险 1: [名称]
描述: [详细说明]
影响: [可能的后果]
修复建议: [具体步骤]
优先级: 立即修复
🟠 中危风险 2: [名称]
...
安全评分趋势
[与历史审计对比]
修复计划
[按优先级排序的待办事项]
📊 检查清单
🔐 认证安全
- - [ ] API Key 是否使用环境变量
- [ ] Token 是否定期轮换
- [ ] 是否启用双因素认证
- [ ] 密码是否足够复杂
🔒 数据安全
- - [ ] 敏感文件是否加密
- [ ] 数据库是否加密
- [ ] 传输是否使用 HTTPS
- [ ] 备份是否安全
🛡️ 网络安全
- - [ ] 防火墙是否开启
- [ ] 不必要端口是否关闭
- [ ] SSH 是否使用密钥认证
- [ ] 是否使用 VPN/Tailscale
📁 文件安全
- - [ ] 敏感文件权限是否正确 (600)
- [ ] 是否有世界可读文件
- [ ] 是否有 SUID/SGID 文件
- [ ] 临时文件是否清理
🧩 应用安全
- - [ ] OpenClaw 是否最新版本
- [ ] Skills 是否来自可信源
- [ ] 是否配置工具黑名单
- [ ] 是否启用会话维护
📋 报告模板
markdown
安全审计报告
审计日期: 2026-03-02
审计范围: OpenClaw 系统 + 服务器配置
审计工具: security-audit-hand v1.0
执行摘要
5 个 |
| 🔴 高危 | 0 个 |
| 🟠 中危 | 2 个 |
| 🟡 低危 | 3 个 |
| 上次审计 | 2026-02-26 |
发现的风险
🟠 中危风险 1: API Key 明文存储
文件: ~/.openclaw/openclaw.json
问题: API Key 以明文形式存储在配置文件中
影响: 如果配置文件泄露,攻击者可使用 API Key
修复建议:
bash
1. 使用环境变量
export DASHSCOPE
APIKEY=sk-xxx
2. 或使用加密存储
openclaw secrets add dashscope
apikey
3. 修改配置文件
{
models: {
providers: {
dashscope: {
apiKey: ${DASHSCOPE
APIKEY}
}
}
}
}
优先级: 本周内修复
🟠 中危风险 2: Gateway 绑定到 LAN
配置: gateway.bind = lan
问题: Gateway 监听所有网络接口 (0.0.0.0)
影响: 同一网络内的设备可访问 Gateway
修复建议:
json5
// 如果不需要远程访问
{
gateway: {
bind: loopback // 仅监听 127.0.0.1
}
}
// 如果需要远程访问,使用 Tailscale
{
gateway: {
bind: lan,
tailscale: {
mode: on
}
}
}
优先级: 本周内修复
🟡 低危风险 1: 未配置工具黑名单
问题: tools.deny 未配置
影响: 默认允许所有工具,可能误用危险工具
修复建议:
json5
{
tools: {
deny: [group:runtime], // 禁止 exec/bash
}
}
安全评分趋势
2026-02-26: 70/100
2026-03-02: 75/100 (+5)
改进:
- - ✅ 配置了会话维护
- ✅ 启用了循环检测
- ⏳ 待修复:API Key 存储
修复计划
立即修复 (本周)
- - [ ] API Key 改用环境变量
- [ ] Gateway 绑定改为 loopback
短期修复 (本月)
- - [ ] 配置工具黑名单
- [ ] 启用 Tailscale 远程访问
- [ ] 配置定期安全审计
长期改进 (下季度)