安全设计原则
本地优先
桌面文件索引、邮件缓存和本地会话优先保存在本机。使用云模型、组织共享或远程任务时,所选内容会按对应功能和授权发送至配置的服务;本地优先不代表离线运行或永不外发。
最小权限
IPC 通道按需注册,渲染进程通过预定义的桥接 API 请求本机能力;浏览器网络请求另受 CSP 与服务端鉴权约束。
纵深防御
从 Context Isolation 到 assertTrustedSender,从参数校验到人工确认,多层安全机制叠加保护。
数据加密
千手分别保护凭据、服务端敏感字段与网络传输。本地 SQLite 不采用应用层整库加密,企业部署需启用受管磁盘加密,并将备份、导出和诊断材料放在受管加密卷上:
静态数据加密
服务端数据库中的敏感字段(如组织模型的 API Key)使用 AES-256-GCM 认证加密存储(Node.js crypto 实现;兼容读取旧版 CryptoJS 密文)。加密密钥通过环境变量注入,不硬编码在代码中。用户密码使用 bcrypt 哈希存储,每个密码独立加盐。
凭据隔离存储
客户端本地的 API Key 和用户凭据通过 credentialStore 使用 Electron safeStorage 加密后保存,本地密文依赖操作系统提供的保护。安全存储不可用或 Linux 退回 basic_text 时拒绝读写凭据。此机制不加密邮件正文、聊天记录或普通文件,也不承诺 JavaScript 明文在使用后立即从内存擦除。
传输加密
生产服务端与云模型端点应配置 HTTPS/TLS,并核验反向代理证书和内网链路。SSE 是流式传输格式,本身不提供加密;自定义模型、开发环境和本机端点的实际协议需单独核对。
IPC 安全机制
Electron 的 IPC(进程间通信)是客户端安全的关键环节。千手在三个层面确保 IPC 通信安全:
Context Isolation(上下文隔离)
渲染进程与主进程运行在完全隔离的 JavaScript 上下文中。渲染进程无法直接调用 Node.js API 或文件系统;跨进程操作通过 preload 预定义桥接接口。浏览器 fetch 等网络能力仍存在,受 CSP、来源校验与服务端权限检查约束。
assertTrustedSender(可信发送者验证)
高风险 IPC 接口通过可信来源校验约束调用方。通过检查 event.senderFrame 的 URL 和安全上下文,确保只有来自应用自身渲染进程的请求才会被处理,阻止潜在的注入攻击。
Schema 验证
高风险 IPC 处理器(如文件操作、Bash 执行、邮件发送)对输入参数进行严格的类型和范围校验。路径参数经过规范化处理,防止路径遍历攻击。命令参数经过安全检查,阻止命令注入。
人工确认机制
千手将操作分为低风险和高风险两类。低风险操作(文件预览、搜索、AI 对话)自动执行;高风险操作必须经过人工确认才能执行:
- 邮件发送:AI 草拟的邮件必须经用户确认收件人、内容和附件后才能发送
- Bash 命令执行:展示完整命令内容,高风险命令需用户确认;防护由应用层策略实现(命令与路径校验、敏感目录隔离),不依赖操作系统级沙箱
- 文件编辑:展示编辑差异对比,用户确认变更内容后应用
确认请求通过队列管理,支持超时保护机制。若用户在设定时间内未响应,操作将自动取消并记录到审计日志。
审计追踪
千手内置全面的审计追踪系统,覆盖 AI 调用、邮件发送、文件操作、导出证据等关键操作类别(下表为主要类别),按事件合同记录结果和必要上下文。桌面与服务端分别保留各自的事件;客户端上传受组织策略与可上传范围约束,不保证所有本地日志自动双写。支持查询、时间范围过滤和导出,具体字段与保留范围以对应事件为准。
审计类型覆盖
| 类型 | 记录内容 |
|---|---|
| AI 调用 | 智能体执行状态、关联标识与按策略保留的调用信息 |
| 邮件发送 | 发送结果与邮件关联信息;正文和凭据不作为必存审计字段 |
| 文件操作 | 文件的创建、修改、删除、重命名等操作 |
| Bash 执行 | 命令内容、执行结果、退出状态码 |
| 文件编辑 | 编辑工具的变更记录,支持差异对比 |
| 认证事件 | 登录、登出、令牌刷新、密码变更 |
| 配置变更 | 模型配置、智能体配置的修改记录 |
| 文档提取 | 从文档中提取文本、OCR 和预览数据的操作记录 |
| 导出证据 | 文件、对话与研究产物导出的证据链记录 |
| 远程 Handoff | 远程任务提交、取消、产物回传的操作日志 |
审计系统保留事件链与导出证据:AI 调用、邮件发送、文件编辑、远程 handoff 和高风险确认都会记录为可查询、可导出的合规日志。
企业管控
统一管理后台
IT 管理员通过 Web 管理后台集中配置可用模型和智能体。已连接客户端通过配置同步接口获取更新;离线设备在恢复连接后重新同步。
角色权限控制
基于 JWT + RBAC 的权限体系。管理后台按功能与资源权限控制访问,覆盖用户管理、角色分配、系统配置和审计查询,细粒度控制操作权限。
合规报告导出
审计日志可按时间、类型等条件筛选。桌面审计接口提供 JSON 导出,超出内联大小时写入文件。导出记录可作为后续评估材料,不能替代组织的合规审查或认证。
私有化部署
企业服务端基于 Docker Compose 部署(server + postgres + redis),企业服务数据保存在所部署的基础设施上。桌面本地数据仍在设备中;模型、OCR、MCP 和远程任务等外部端点需分别配置与限制,部署私有服务端本身不保证所有链路留在内网。