WeChat Auto Reply
macOS 上基于 OCR 的微信消息自动发送与半自动回复工具。
监控 OpenClaw 代理的技能行为,检测异常文件访问与网络请求。
openclaw skills install @billyhetech/permission-guard-v1命令、参数、文件名以原文为准
OpenClaw 代理的运行时安全监控工具。其目的是让用户清晰了解已安装技能的实际行为——及时发现意外的文件访问、可疑的网络调用、危险的命令执行,或超出技能声明用途的行为。
在 ~/.openclaw/permission-guard.log 维护一个持续更新的日志文件。记录每个显著的代理操作,格式如下:
[ISO-8601 时间戳] SKILL:[技能名称] ACTION:[file|network|command] TARGET:[路径/网址/命令] STATUS:[ok|flagged|blocked]确保日志文件大小不超过 10MB —— 每月通过将旧文件重命名为 permission-guard.log.YYYY-MM 实现轮转。日志仅本地保存,不会被外部传输。
生成报告时需执行全部四项检查,并汇总结果。
检测最近对凭证和配置文件的访问:
find ~ -newer ~/.openclaw/last-check -type f 2>/dev/null \
| grep -E '(\.ssh|\.aws|\.gnupg|\.config/gcloud|\.gitconfig|/etc/passwd|/etc/shadow|Library/Keychains|\.config/google-chrome|\.mozilla)' \
| head -30
# 检查完成后更新时间戳:
touch ~/.openclaw/last-check任何匹配项均应标记。风险明确:一个看似执行常规任务的恶意技能读取 ~/.ssh/id_rsa,是典型的凭证窃取路径。
审查当前及近期的网络连接:
ss -tnp 2>/dev/null | grep -Ev '(127\.0\.0\.1|::1|LISTEN)'对以下情况发出警告:
检查日志中是否存在暗示权限滥用的命令模式:
grep -E '(rm\s+-rf|chmod\s+777|curl.+\|\s*(ba)?sh|wget.+\|\s*(ba)?sh|crontab\s+-[el]|useradd|sudo\b)' \
~/.openclaw/permission-guard.log 2>/dev/null | tail -20这些模式并不一定代表恶意意图,但每一条都应在继续前向用户提示解释。
将技能实际行为与其名称和描述所承诺的功能进行对比。原则是:技能只能执行其声明用途所允许的操作。
值得标记的示例包括:
生成以下报告结构,无事件的章节可省略:
🛡️ 权限守卫 — 活动报告
════════════════════════════════════════
周期:[开始] → [结束]
监控技能数:[N]
✅ 正常活动 ([X] 次事件)
[技能名称]: [预期操作说明]
⚠️ 警告 — 需调查 ([Y] 次事件)
[技能名称]: 访问了 [路径] — [为何可疑]
[技能名称]: 向 [IP/域名] 发出出站 POST 请求 — [上下文]
🔴 严重 — 需采取行动 ([Z] 次事件)
[技能名称]: 读取 [凭证路径] 并在同一会话中建立出站连接
→ 执行:claw remove [技能名称]
评估:[一句话总结]
════════════════════════════════════════若一切正常,请直接说明——不必要的警告会随时间削弱用户对守卫的信任。
当同一技能在同一会话中既访问凭证文件又发起出站连接时,应视为严重违规,而非普通警告。这种组合是凭证窃取的典型特征:访问 + 传输。单独一项可能属偶然;两者同时发生则构成可信攻击迹象。
应对步骤:
claw remove [技能名称]每次新技能安装后,在其首次运行前捕获基线状态。这将使后续的行为偏离检测更加精确。
mkdir -p ~/.openclaw/baselines
stat ~/.ssh ~/.aws ~/.gnupg ~/.gitconfig 2>/dev/null \
> ~/.openclaw/baselines/[技能名称]-baseline.txt
touch ~/.openclaw/last-check仅报警并建议,绝不擅自行动。移除技能始终是用户的决定。
当不确定某行为是否违规时,应记录并标记,而非忽略。用户应能看见模糊行为,而不仅仅是明确违规。
尽可能避免误报。合法技能被错误标记比遗漏微小异常更严重,会损害用户对守卫的信任。
已收录 1 个 Skill