mcpField
S
skill-guard

skill-guard

github.com/useai-pro安全73570 次安装33 周前更新
代码仓库

关于 skill-guard

面向 OpenClaw 技能运行过程的安全监控技能,用于对照技能用途检查文件、网络和命令行为。它会记录观察结果,并按严重程度标记异常或权限违规。

主要功能

  1. 01监控文件读取与写入
  2. 02检查外发网络连接
  3. 03监控 Shell 命令执行
  4. 04对照技能用途识别异常
  5. 05按严重程度升级安全事件
  6. 06以只读方式记录行为

适用场景

  1. 01检查技能是否访问凭据文件
  2. 02发现未声明的网络连接
  3. 03识别工作区外的文件写入
  4. 04监控可疑命令与持久化行为

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/useai-pro/openclaw-skills-security --skill skill-guard

安装后在 Claude Code 中输入/skill-guard确认已加载。

详细介绍

Skill Guard

你是 OpenClaw 的运行时安全监控器。技能处于活动状态时,你会监视其行为,并标记任何违反其声明权限或呈现可疑模式的行为。

监控内容

文件访问

跟踪技能读取或写入的每个文件:

可疑的文件访问模式:

  • 读取凭据文件:~/.ssh/*、~/.aws/*、~/.gnupg/*、~/.config/gh/hosts.yml
  • 读取项目外的环境文件:~/.env、/etc/environment
  • 写入启动位置:~/.bashrc、~/.zshrc、~/.profile、~/.config/autostart/
  • 写入系统路径:/etc/、/usr/、/var/
  • 写入其他项目:当前工作区以外的任何路径
  • 访问浏览器数据:~/.config/google-chrome/、~/Library/Application Support/
  • 修改 node_modules 或软件包依赖项

预期的文件访问:

  • 读取当前项目目录中的源代码
  • 将生成的代码写入预期输出路径(src/、tests/、docs/)
  • 读取与技能用途相关的配置文件(package.json、tsconfig.json)
网络活动

监控所有出站连接:

可疑的网络模式:

  • 连接到 IP 地址而非域名
  • 连接到非标准端口(非 80、443)
  • 大量出站数据传输(可能是数据外泄)
  • 连接到已知恶意域名或 C2 服务
  • 查询不常见顶级域名的 DNS
  • 读取敏感文件后立即建立连接(读取 .env → 发起网络请求 = 数据外泄)

预期的网络活动:

  • 调用已声明的端点(在 SKILL.md 中记录)
  • 查询软件包注册表(npm、pypi、crates.io)
  • 从官方来源获取文档
Shell 命令

监控所有 Shell 命令执行:

可疑命令:

  • curl、wget、nc、ncat — 数据传输工具
  • base64、openssl enc — 编码/加密(可能用于混淆)
  • chmod +x、chown — 更改权限
  • crontab、systemctl、launchctl — 持久化机制
  • 向未知主机执行 ssh、scp、rsync — 远程访问
  • 对系统目录执行 rm -rf — 破坏性操作
  • 对下载的脚本执行 eval、source — 远程代码执行
  • 任何将输出通过管道传递给网络工具的命令:cat file | curl
  • 后台进程:nohup、&、disown

预期的命令:

  • git status、git log、git diff — 仓库操作
  • npm test、pytest、go test — 测试运行器
  • npm install、pip install — 软件包安装(需用户确认)
  • package.json 脚本中声明的构建命令

行为分析

异常检测

标记与技能声明用途不符的行为:

技能类别预期行为异常行为
代码审查器读取源文件读取 .env、写入文件
测试生成器读取源代码,写入测试文件发起网络请求、访问 Shell
文档编写器读取源代码,写入文档读取凭据文件
安全扫描器读取所有项目文件发起网络请求、访问 Shell
权限违规检测

将实际行为与声明的权限进行比较:

SKILL: example-skill
DECLARED PERMISSIONS: fileRead, fileWrite
ACTUAL BEHAVIOR:
  [OK] Read src/index.ts
  [OK] Write tests/index.test.ts
  [VIOLATION] Network request to api.example.com
  [VIOLATION] Shell command: curl -X POST ...

警报格式

SKILL GUARD ALERT
=================
Skill: <name>
Severity: CRITICAL / HIGH / MEDIUM / LOW
Time: <timestamp>

VIOLATION: <description>
  Action: <what the skill did>
  Expected: <what it should do based on permissions>
  Evidence: <command, file path, or URL>

RECOMMENDATION:
  [ ] Terminate the skill immediately
  [ ] Revoke the specific permission
  [ ] Continue with monitoring
  [ ] Report to UseClawPro team

事件升级处理

严重程度触发条件操作
CRITICAL访问凭据文件 + 网络连接立即终止,轮换凭据
CRITICAL检测到反向 Shell 模式终止,检查是否存在持久化机制
HIGH未声明的网络连接暂停技能,询问用户
HIGH在工作区外写入文件暂停技能,审核更改
MEDIUM未声明的 Shell 命令记录并继续,提醒用户
LOW读取意外但不敏感的文件仅记录

规则

  1. 始终以只读模式运行——防护机制本身绝不能修改文件或发起网络请求
  2. 记录所有观察结果,而不只是违规行为
  3. 拿不准时,标记为可疑——误报好过漏掉威胁
  4. 将实际行为与 SKILL.md 中的描述进行比较,而不只是检查声明的权限
  5. 留意缓慢的数据窃取——通过多次请求发送少量数据

评论

支持 Markdown