沙箱与文件保护 | LanMate 使用手册
使用奇安信版 LanMate?查看奇安信版用户手册

沙箱与文件保护

LanMate 执行命令和写文件时,默认跑在受限环境里:系统级沙箱隔离命令执行,文件保护限制可写入范围。两层独立生效,正常使用无需配置。

系统沙箱

沙箱用的是操作系统原生隔离机制,按平台自动选择:

系统 后端 说明
macOS Seatbelt(sandbox-exec) 系统自带,无需安装
Linux Landlock 优先,bubblewrap 回退 Landlock 内核原生;两者都不可用时见下方「沙箱不可用时」
Windows 低完整性进程 系统自带,无需安装
HarmonyOS 系统应用沙箱 操作系统强制执行,固定为仅工作目录,此设置不可更改

LanMate 执行的命令(bash、脚本、内核进程)都在沙箱内运行,无法越界写文件;内置办公脚本与连接器进程例外,见「覆盖范围」。

文件保护范围

设置 → 安全 → 文件保护,三档可选:

档位 行为
仅临时区(read-only) 仅会话专用临时目录可写,项目工作目录和系统共享临时目录都不可写
工作区(workspace,默认) 项目工作目录 + 系统临时目录 + 会话产物目录可写;写以上范围外的文件时弹窗请求授权
不限制(full) 关闭文件保护,可写任意文件,仅受审批级别约束

read-only 档下,LanMate 如果确实需要写工作目录里的文件,bash 可以携带 sandbox_permissions 参数并附 justification 说明理由,向你申请临时加宽——批准后加宽范围并入当前会话的白名单。

「仅工作目录」下,LanMate 可以写入的范围:

权限 范围
读写 当前项目工作目录
读写 系统临时目录(macOS /tmp、TMPDIR;Windows %TEMP%;Linux /tmp)
读写 当前会话的产物目录(报告、图表等中间文件)
不可写 上述之外的任何路径,首次写入时弹出授权卡片

越界写入的授权是会话级的:批准一次后,本会话再写同一路径不再询问,新会话重新确认。经常需要写的目录(比如固定的输出文件夹)可以加入常驻可写目录(设置 → 安全 → 常驻可写目录),加入后所有会话都可直接写入。

提示:内置办公脚本(Word/Excel/PPT/PDF/图片处理)与连接器进程不走系统沙箱,但读写仍受工作目录与授权规则约束,每次执行都记录审计日志。

沙箱不可用时

Linux 上 Landlock 与 bubblewrap 都不可用(或用户命名空间被禁)时,LanMate 不会假装安全:命令以普通权限运行,但三层提示确保你知道现状——

  1. 启动时右下角弹出提示
  2. 设置 → 安全 显示常驻警告与补救指引(如安装 bubblewrap)
  3. 每个会话第一次执行命令前再确认一次

审批拦截不受影响,仍然生效。重启应用或修复系统配置后可能恢复。

其他安全设置

设置 位置 说明
沙箱内禁止联网 设置 → 安全 Linux 沙箱内断网(默认开);内核内装依赖需要网络时可关
LanMate 依赖项 设置 → 安全 依赖装到内置运行时(默认开);关闭后安装走系统环境,指向内置环境的命令会被拦截
删除移入回收站 设置 → 安全 确认删除后文件进回收站而非彻底删除,可找回
限制渠道发送文件路径 设置 → 安全 开启后蓝信等渠道会话只允许发送工作目录内的文件,防数据外发

执行策略规则

设置 → 安全 → 执行策略规则,按工具、路径和命令自定义放行策略:

示例:bash 工具 + 命令包含 git push → 询问,可以在放行日常操作的同时对推送留一道人工确认。

安全底线:敏感路径(~/.ssh、~/.aws、/etc 等)与破坏性命令(如 rm -rf /)始终被拒绝,任何规则都不能覆盖。

企业审计

组织开启后,审批决策与高危工具调用会上报企业服务端审计日志:命令文本经密钥脱敏后上报,断网自动补发。完整本地轨迹保留在 ~/.lanmate/agent/sessions/<会话id>.jsonl,可用于企业取证。

组织还可配置 DLP 内容安全策略:用户消息在发送给模型前做敏感内容扫描。三档行为——仅审计(记录命中)、本地提醒(弹提示但可发送)、需审批(未获批准不得发送且不能会话级放行)。上报只含元数据,不含消息正文。

与审批的关系

沙箱管「能碰哪里」,审批管「要不要问你」。两者独立组合——比如「仅工作目录 + 只读放行」下,读文件直接执行、写文件弹窗、写工作目录外的文件先过沙箱授权再过审批。详见审批与安全。