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

沙箱与文件保护

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

系统沙箱

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

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

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

文件保护范围

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

档位 行为
仅工作目录(默认) 通过系统沙箱限制可写范围;写工作目录外的文件时弹窗请求授权,批准后放行
不限制 关闭文件保护,可写任意文件,仅受审批级别约束

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

权限 范围
读写 当前项目工作目录
读写 系统临时目录(macOS /tmpTMPDIR;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,可用于企业取证。

与审批的关系

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