安全

概述

Neotask 以安全优先的架构设计。Gateway 默认绑定到 localhost,所有敏感数据在静态时加密,代理执行可以在隔离的容器中沙箱化。

网络安全

默认回环

Gateway 仅在 127.0.0.1(localhost)上监听,除非您明确更改绑定模式。默认情况下没有外部网络暴露。

认证

所有 WebSocket 连接需要认证:

远程访问安全

对于远程访问,推荐的方式是 Tailscale VPN 或 SSH 隧道 -- 永远不要将 Gateway 直接暴露到互联网。

设备配对

配对工作原理

每个连接到 Gateway 的客户端必须经过配对:

  1. 设备呈现其身份(指纹 + 公钥)
  2. Gateway 发出配对挑战(随机数)
  3. 设备用其私钥签署随机数
  4. 您通过 UI 批准设备
  5. Gateway 为未来连接颁发设备 token

信任模型

加密

静态数据

传输中的数据

沙箱化

基于 Docker 的隔离

代理命令执行可以在 Docker 容器中沙箱化:

沙箱范围

范围 描述
按会话 每个会话一个新容器
按代理 每个代理一个持久容器
共享 跨代理的共享容器

工作空间访问

沙箱化的代理可以访问其工作空间目录(挂载到容器中),但无法访问工作空间外的主机文件系统。

执行审批

控制代理可以在节点和 Gateway 主机上执行的命令:

模式

模式 描述
允许列表 仅预先批准的命令可执行
询问 未知命令提示用户批准
完全 无限制(谨慎使用)

按节点配置

每个节点(macOS、无头主机)有自己的执行审批配置,本地存储。您可以允许特定二进制文件(例如 /usr/bin/docker、/usr/local/bin/terraform),同时阻止其他所有内容。

提升模式

某些操作需要直接在 Gateway 主机上运行(不在沙箱中)。提升模式:

安全审计

内置安全审计检查:

审计在获得许可后可以自动修复许多问题。

最佳实践

  1. 保持 Gateway 在回环上 -- 使用 Tailscale 或 SSH 进行远程访问
  2. 启用沙箱化 -- 在 Docker 容器中运行代理命令
  3. 使用执行允许列表 -- 限制代理可以在节点上运行的命令
  4. 设置认证 token -- 始终配置 token 认证,即使是回环
  5. 审查代理权限 -- 尽可能使用最小工具配置
  6. 保持 Neotask 更新 -- 更新包含安全补丁
  7. 定期审计 -- 运行安全审计以捕获错误配置
  8. 限制插件加载 -- 仅安装受信任的插件