大多数"自学习"安全系统有个致命隐患:它们在无人察觉的情况下悄然漂移。一条恶意或嘈杂的反馈流,可能教会防护系统放行本该拦截的威胁——这在AI代理运行时尤其可怕。Armorer Guard最新发布的Learning Loop正是针对这一痛点,用Rust原生架构把反馈层彻底留在本地。
这套系统的核心设计是"双车道"学习机制。本地学习覆盖层负责即时响应:用户标记的误报、放行或待审案例,直接存储在~/.armorer-guard/feedback或ARMORER_GUARD_HOME指定的本地路径,当场生效,无需等待模型重训。全局模型训练则走另一条路:经过人工审核、去重、溯源检查、版本化控制的流程,未审核反馈默认标记为can_train=false,杜绝"毒化默认"。
![]()
具体怎么用?三条CLI命令覆盖全周期:feedback-record录入反馈,feedback-stats查看统计,feedback-export --reviewed-only导出已审核数据。扫描输出也新增了关键字段——scan_id、model_version、learning_version——让每次判断都有据可查。
![]()
本地放行的权限有硬边界。一条 benign 的安全运维手册被误标?记录false_positive反馈、指定allow动作、重新扫描,系统返回learning:local_allow_match,语义层面的误报被压制。但凭证检测(detected:credential)、凭证泄露策略(policy:credential_disclosure)、危险工具调用(policy:dangerous_tool_call)这三类红线,本地允许样本无权覆盖。这是设计上的刻意保留:灵活性与安全性之间,后者拥有最终否决权。
Armorer Guard本身的定位是本地优先的Rust扫描器,覆盖AI代理的完整边界:输入提示、检索内容、模型输出、工具调用参数、日志、内存写入、外发消息。检测范围包括提示注入、数据外泄、敏感数据请求、安全绕过、破坏性命令、系统提示提取、凭证泄露。Learning Loop的加入,让它从"静态规则执行者"进化成"可进化但受控"的防护层。
![]()
代码、演示、模型工件均已开源:GitHub仓库、Hugging Face演示空间、语义分类器模型均可直接获取。项目方正在向实际建设者提问:在你的技术栈里,这个检查点该放在哪一层——提示入口、检索入口、模型输出、工具参数,还是全链路覆盖?
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.