首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >为“养虾人”装上安全护栏:JEP Guard 插件开发实践

为“养虾人”装上安全护栏:JEP Guard 插件开发实践

原创
作者头像
用户12230204
修改2026-03-12 12:00:34
修改2026-03-12 12:00:34
1731
举报
文章被收录于专栏:可信ai可信ai

一、缘起:当“养虾”成为一种潮流

2026年3月6日,深圳腾讯大厦门口排起长龙,近千名开发者与AI爱好者在此等候,只为免费安装一个名为OpenClaw的AI智能体。这场被戏称为“比新年发利是还热闹”的活动,让“云上养虾人”的规模在短短数日内突破10万。

OpenClaw之所以如此火爆,在于它打破了传统AI“只说不做”的局限——它能够真正执行操作:整理桌面、发送邮件、运营小红书账号,甚至构建自动选股系统。用户只需在聊天窗口下达指令,OpenClaw就能像真人一样操作电脑。

然而,能力越强,风险越大。

二、痛点:谁在担心OpenClaw的安全?

“我担心部署在本地电脑上的安全问题,万一误删文件或泄露隐私怎么办?”

这种担忧并非杞人忧天。OpenClaw需要获取较高的设备访问权限才能驱动本地工具执行任务。一旦权限管理出现漏洞,用户数据与系统安全都可能面临威胁。已有开发者在社区中提出相关质疑,甚至有报道指出,OpenClaw可能因执行错误指令造成不可弥补的损失。

这正是JEP 开发JEP Guard的初衷——为OpenClaw装上“安全护栏”。

三、JEP Guard:给龙虾装上“刹车”

3.1 什么是JEP Guard?

JEP Guard是一个开源的安全插件,专门为OpenClaw设计。它的核心功能是拦截高风险命令(如rm、mv、cp等),在执行前要求用户确认,并记录所有操作日志,可选生成基于JEP协议的密码学收据,为事后追溯提供法律级证据。

JEP(Judgment Event Protocol)本身是一个已提交IETF的互联网草案(draft-wang-hjs-judgment-event),专注于解决AI决策的责任归属问题。JEP Guard是其首个面向普通用户的落地应用。

3.2 核心功能

| 功能 | 说明 | 安全价值 |

|------|------|----------|

| 高风险命令拦截 | 拦截rm、mv、cp等破坏性命令 | 防止误删、恶意操作 |

| 用户确认弹窗 | 执行前弹出对话框,需用户确认 | 用户对高风险操作有最终决定权 |

| 临时授权令牌 | 允许一次操作后自动失效(5分钟有效期) | 避免权限长期开放 |

| 审计日志 | 所有操作记录到本地文件 | 可追溯、可审计 |

| JEP收据 | 可选生成密码学可验证的收据 | 提供法律级证据 |

| 隐私保护 | 默认只记录命令名,不记录敏感参数 | 防止密码、令牌泄露 |

3.3 技术实现亮点

1. 基于JEP协议的责任链设计

JEP Guard遵循JEP协议的四个原语设计:Judge(创建责任)、Delegate(转移责任)、Terminate(结束责任)、Verify(验证责任)。每次高风险操作都会生成一个JEP收据,记录“谁、在什么时间、执行了什么操作、是否经过授权”。

2. 隐私优先的日志策略

代码中内置了敏感信息过滤机制。当检测到命令中包含`token`、`key`、`secret`、`password`等敏感词时,会自动用`[REDACTED]`替换。用户可通过配置选择日志级别:minimal(仅命令名)、normal(脱敏参数)、verbose(完整参数,需谨慎)。

3. 环境变量的安全处理

针对环境变量可能被序列化为字符串的问题,代码实现了`parseAuthToken`函数,可安全解析不同格式的授权令牌,确保临时授权机制在各种环境下都能正常工作。

四、从0到1:JEP Guard开发历程

4.1 项目启动

最初的想法很简单:能不能给OpenClaw加一个“确认删除”的功能?就像电脑回收站那样,给用户一次反悔的机会。

带着这个想法,JEP fork了OpenClaw的技能开发文档,开始研究插件机制。OpenClaw的模块化设计让技能开发变得相对简单——只需要按照规范编写`sidecar.js`,在命令执行前插入拦截逻辑即可。

4.2 核心代码演进

v1.0.0:基础功能,拦截高风险命令,弹出确认对话框。

v1.0.1:收到社区反馈后,修复了环境变量序列化问题,移除了占位符密钥,增加了隐私警告。

v1.0.2:完善文档,删除未实现的功能描述,增加JEP收据生成。

4.3 关键代码片段

以下是JEP Guard的核心拦截逻辑(简化版):

```javascript

// 高风险命令列表

const HIGH_RISK_COMMANDS = ['rm', 'rmdir', 'mv', 'cp', 'format', 'dd', 'truncate'];

// 敏感信息过滤

function sanitizeArgs(command, args) {

const sensitivePatterns = [/token/i, /key/i, /secret/i, /password/i];

return args.map(arg =>

sensitivePatterns.some(p => p.test(arg)) ? '[REDACTED]' : arg

);

}

// 命令执行前拦截

module.exports = async function beforeCommand(command, args, context) {

// 检查是否为高风险命令

if (!HIGH_RISK_COMMANDS.includes(command)) {

return { allow: true };

}

// 检查是否有临时授权令牌

const tempAuth = parseAuthToken(context.env.JEP_TEMP_AUTH);

if (tempAuth?.expires > Date.now() / 1000) {

return { allow: true };

}

// 弹窗确认

const userChoice = await context.ui.confirm({

title: '⚠️ 高风险操作',

message: `执行命令: ${command} ${args.join(' ')}`,

buttons: ['✅ 允许一次', '🚫 拒绝']

});

if (userChoice === '✅ 允许一次') {

// 生成5分钟有效的临时令牌

const newAuth = {

id: crypto.randomUUID(),

expires: Math.floor(Date.now() / 1000) + 300

};

return {

allow: true,

env: { JEP_TEMP_AUTH: JSON.stringify(newAuth) }

};

}

return { allow: false };

};

```

4.4 社区反馈与迭代

发布后,收到了来自ClawHub社区的详细审核报告,指出了三个关键问题:

1. 隐私风险:日志可能记录敏感参数

2. 环境变量序列化问题

3. 占位符密钥问题

这些问题指引了后续版本的迭代方向,。

五、安装与使用

5.1 一键安装

```bash

claw install jep-guard

```

5.2 配置指南

```bash

# 查看当前配置

claw run jep-guard config

# 设置日志级别(推荐minimal)

claw run jep-guard config set logLevel minimal

# 生成JEP密钥对(可选)

claw run jep-guard keygen

# 导出审计日志

claw run jep-guard export

```

5.3 效果演示

当用户执行`rm -rf temp/`时,JEP Guard会弹出确认对话框:

```

⚠️ 高风险操作

OpenClaw 想要执行: rm -rf temp/

是否允许这一次?

[✅ 允许一次] [🚫 拒绝]

```

如果选择“允许一次”,操作执行,同时生成包含时间戳、用户、命令的审计日志。5分钟后,再次执行相同命令仍需确认。

六、安全建议

基于JEP Guard的开发经验,给OpenClaw用户几点安全建议:

1. 部署在云上而非本地:腾讯云工作人员建议,云服务器是相对隔离的环境,所有操作都在云端执行,不触及本地文件,可避免误删或隐私泄露。

2. 安装安全插件:像JEP Guard这样的安全插件,可以为OpenClaw增加一层防护,让高风险操作必须经过确认。

3. 定期审查日志:养成查看审计日志的习惯,了解OpenClaw到底在做什么。

4. 谨慎授权:不要轻易给予OpenClaw“永久授权”,临时授权令牌用完即废。

七、未来计划

JEP Guard目前已完成基础功能,后续计划包括:

- v1.1.0:增加操作白名单功能,允许用户配置可信命令

- v1.2.0:与腾讯云日志服务集成,支持云端审计

- v1.3.0:基于JEP协议的跨平台收据验证工具

八、开源与共建

JEP Guard完全开源,采用MIT-0许可证,欢迎开发者参与共建:

- GitHub仓库:[https://github.com/jep-eth/jep-claw-integration](https://github.com/hjs-eth/jep-claw-integration/tree/main/jep-guard)

- ClawHub地址:https://clawhub.ai/schchit/jep-guard

- JEP协议草案:[https://datatracker.ietf.org/doc/draft-wang-hjs-judgment-event/](https://datatracker.ietf.org/doc/draft-wang-hjs-judgment-event/)

九、结语

OpenClaw的爆火,标志着AI正从“对话”走向“执行”。当AI真正开始动手做事时,安全与责任就成为不可回避的话题。JEP Guard是这一方向上的一个小小尝试——让AI在动手之前,先问问主人“我可以吗?”

期待更多开发者加入“养虾”行列,也期待更多人关注AI安全与责任这一重要议题。

---

作者简介:YQ,IETF互联网草案作者,OpenClaw技能开发者。

版权声明:本文为原创技术文章,首发于腾讯云开发者社区,未经许可不得转载

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、缘起:当“养虾”成为一种潮流
  • 二、痛点:谁在担心OpenClaw的安全?
  • 三、JEP Guard:给龙虾装上“刹车”
  • 3.3 技术实现亮点
  • 四、从0到1:JEP Guard开发历程
  • 五、安装与使用
  • 六、安全建议
  • 七、未来计划
  • 八、开源与共建
  • 九、结语
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档