Security Brief

LynxAgent 安全方案说明

Agent 侧负责云端编排与安全闸门。整体方案按「云端可查资料、端侧作业零外网」来设计;树莓派沙箱、出站隔离、系统分区和 SAUtils 交付形态由硬件侧配合落地,双方按接口对齐。

产品形态: SaaS,服务部署在公网 ECS,不做私有化。模型 Key、百度 API Key、IoT 控制面凭证只留在云端。用户侧只有树莓派,拿不到上述密钥,也拿不到 Agent 编排与策略。

总体原则

  1. 检索与执行分离
    Agent 只在云端调百度 API 查资料;树莓派沙箱里跑的用户程序执行时完全不能联网。
  2. 软约束加硬闸门
    意图与内容审核管「不该接的请求不接」;部署前白名单校验,加上设备侧隔离,管「就算生成了也跑不出去、写不进系统」。
  3. 高价值资产不上设备
    密钥、Agent、检索能力都在云端;树上只保留跑作业和控硬件所必需的运行时。
  4. 端侧硬件库可控可收敛
    SAUtils 必须在树莓派上运行,做不到像密钥一样完全不上树;通过精简交付和运行形态缩小源码可读面,这块以硬件侧方案为主。

Agent 侧需要执行的安全措施

1. 意图预处理

对用户输入做安全审查。有害内容、越权系统操作、诱导下载或执行不明代码、偏离课程与硬件编程本职的请求,直接拒绝,并拉回「基于当前硬件完成编程任务」。

2. 网络检索

百度检索只在云端服务里调用,Key 不下发设备、不写进用户程序。检索结果当不可信外部文本处理,做注入隔离和内容过滤后再进编排,不会因为网页内容自动去下载、安装或执行远程脚本。

3. 产物审查与部署闸门

生成代码必须过静态校验:只允许约定的硬件 API 和安全 import。网络访问、子进程、任意下载安装、读写系统敏感路径等一律判失败,不给部署。部署接口在服务端强制校验通过后才下发,不靠模型自觉。

4. 内容安全

对话输入、模型输出、检索摘要都走教育场景的内容安全策略,越界会话可审计。

需要硬件侧一起兜住的部分

以下不在 Agent 侧范围内,但和整条安全链路闭合有关,需由硬件侧落地:

  1. 用户程序沙箱零外网
    作业在沙箱里跑,执行期间不能联网。和云端 / IoT 控制面的通信由系统服务走,不进用户程序的网络空间。
  2. 系统完整性
    /boot 和系统关键路径对用户程序只读或不可写;不能改启动项;系统更新只走签名 OTA。
  3. SAUtils 防泄漏
    量产不附带明文完整源码和内部文档;至少编译交付。更稳的做法是 SAUtils 做特权守护进程,作业侧只留本地 IPC 薄封装,实现目录对作业用户不可读。
    对外可以明确:物理持有设备时,端侧运行时仍存在被逆向的可能,不承诺绝对不可还原;竞品拆机也拿不到云端 Agent、模型和平台编排能力。
  4. 设备绑定与吊销
    设备与云端账号绑定,异常场景支持远程停用或解绑。

残余风险

内容审核和 Prompt Injection 做不到百分之百,所以必须靠部署白名单和设备零外网做硬兜底。竞品拿到树莓派,碰不到云端密钥和 Agent;端侧 SAUtils 等运行时仍有被逆向的可能。若设备沙箱未正确断网,零外网承诺会失效,需要出厂与巡检验证。

小结

方案上,Agent 侧在云端检索、审查意图和产物,并在部署前强制白名单闸门;学生程序在树莓派沙箱里跑时完全不能联网,系统分区和 SAUtils 防泄漏由硬件侧落实。密钥和 Agent 留在公网 ECS,用户只有树莓派。这样把检索能力保留下来的同时,把「乱联网、下恶意代码、改启动链」和「云端资产随设备泄漏」几条主风险收住;端侧库的物理逆向不承诺清零,单独用交付形态收敛。