[控场AI]
产品

laya-guard

一个开源的AI编程Agent安全守卫项目,通过本地小型模型在工具调用执行前审核命令安全性,决定放行、拦截或请求确认

时间轴 (近 90 天)

11月3日

一个322M参数模型经过三轮微调后,日常命令放行率从基础模型的25/50提升到第三轮的44/50,攻击拦截率从32/43提升到39/43。

待验证50%
11月3日

第一轮微调后,模型在未见的日常命令上直接放行数量从25/50降到23/50,误将git status、mkdir -p src/utils等普通操作标记为需确认。

待验证50%
11月3日

第一轮训练数据中86%的行标签为allow,且真实allow命令中位长度为287字符,而手写风险命令通常只有33到40字符,导致模型学到“短命令=危险”的虚假信号。

待验证50%
11月3日

第二轮微调后,三个危险命令案例被漏报:rmdir /s /q d:、注释后的破坏性命令、gh auth token,原因分别是训练数据缺少Windows命令、注释样本偏向allow、缺少打印密钥的样本。

待验证50%
11月3日

第三轮微调将训练集中allow比例降至61%,通过移除242条确定性规则已覆盖的安全样本、重复review/block示例、新增100条针对性示例来实现。

待验证50%
11月3日

微调后的模型已作为0.7.0版本的默认选项发布,可通过pip install -U laya-guardrail安装,并可用LAYA_GUARD_MODEL=base切回原始基础检查点。

待验证50%
11月3日

laya-guard采用纵深防御架构:确定性规则作为第一道防线处理已知高危命令,模型负责处理规则未覆盖的模糊场景,内核沙箱在底层不可绕过。

待验证50%
11月3日

训练数据约13000条shell命令,来自作者自己的Agent对话记录,其中696条未被确定性规则覆盖的命令被人工标注。相似度不低于0.85的命令被排除。

待验证50%
11月3日

在端到端测试(含确定性规则)中,基础模型和微调模型均拦截了全部13/13起真实Claude Code hook事件和30/30次规避尝试。

待验证50%
11月3日

第三轮发布后仍存在两个回归:chmod +x scripts/build.sh和一条韩语总结issue请求被要求确认,违反作者设定的无回归标准。

待验证50%

还有 5 条时间轴事件

全部知识事实 (15)

待验证

第三轮中模型单独运行时Shell评估集得分从基础模型的42/71提升到61/71,韩语集从27/30提升到27/30(持平),端到端Shell评估集从69提升到70。

50%
待验证

第一轮微调后,模型在未见的日常命令上直接放行数量从25/50降到23/50,误将git status、mkdir -p src/utils等普通操作标记为需确认。

50%
待验证

第一轮训练数据中86%的行标签为allow,且真实allow命令中位长度为287字符,而手写风险命令通常只有33到40字符,导致模型学到“短命令=危险”的虚假信号。

50%
待验证

第二轮微调后,三个危险命令案例被漏报:rmdir /s /q d:、注释后的破坏性命令、gh auth token,原因分别是训练数据缺少Windows命令、注释样本偏向allow、缺少打印密钥的样本。

50%
待验证

第三轮微调将训练集中allow比例降至61%,通过移除242条确定性规则已覆盖的安全样本、重复review/block示例、新增100条针对性示例来实现。

50%
待验证

一个322M参数模型经过三轮微调后,日常命令放行率从基础模型的25/50提升到第三轮的44/50,攻击拦截率从32/43提升到39/43。

50%
待验证

laya-guard采用纵深防御架构:确定性规则作为第一道防线处理已知高危命令,模型负责处理规则未覆盖的模糊场景,内核沙箱在底层不可绕过。

50%
待验证

训练数据约13000条shell命令,来自作者自己的Agent对话记录,其中696条未被确定性规则覆盖的命令被人工标注。相似度不低于0.85的命令被排除。

50%
待验证

在端到端测试(含确定性规则)中,基础模型和微调模型均拦截了全部13/13起真实Claude Code hook事件和30/30次规避尝试。

50%
待验证

第三轮发布后仍存在两个回归:chmod +x scripts/build.sh和一条韩语总结issue请求被要求确认,违反作者设定的无回归标准。

50%
待验证

沙箱机制将受保护路径写入Agent自身的操作系统沙箱,在内核层面拒绝未授权读取,不依赖模型判断。

50%
待验证

命令归一化覆盖了r''m、${IFS}、base64管道进sh、变量隐藏命令等变体。

50%
待验证

laya-guard存在覆盖缺口:printenv依赖模型判断,cat /proc/self/environ仍可能被当作普通文件读取放行。

50%
待验证

作者认为该项目的最大弱点是评估独立性:训练数据、基准和模型调优均由同一开发者完成,经过三轮迭代后无法确信评估仍然独立。

50%
待验证

微调后的模型已作为0.7.0版本的默认选项发布,可通过pip install -U laya-guardrail安装,并可用LAYA_GUARD_MODEL=base切回原始基础检查点。

50%

来源文章