安全与控制
让 AI 操作真实的机器,前提是:由你决定它能做什么,敏感步骤等待人工确认,一切都有记录。本页说明 LetKite Lite 目前如何做到这些,以及 LetKite 专业版在此基础上增加了什么。
每条命令受三层限制
只有三层都允许,命令才会执行。放宽其中一层,不会扩大另外两层。
客户端权限
接入 AI 客户端时,由你批准权限范围:fleet.read、fleet.exec、fleet.write。建议先授予读取和执行,需要时再开放写入。
节点权限
每台机器有自己的权限范围:生产数据库可以只读,测试机则允许变更。
账户权限
网关以专用的低权限账户登录各节点,该账户没有 sudo。需要 root 的操作必须写入明确的 sudoers 白名单。
登录不依赖共享密钥
AI 客户端永远拿不到密码或 SSH 密钥,它们通过 OAuth 2.1 连接网关:
- 访问令牌 15 分钟过期,并绑定到你的网关地址。
- 刷新令牌每次使用都会轮换;重放旧令牌会吊销整组令牌。
- 授权使用 PKCE(S256)与两分钟内有效的一次性授权码。
- 每个客户端都要在授权页面上由你批准,页面会显示回调地址;只接受白名单中的回调地址。
- 管理员密码以 scrypt 哈希保存,连续失败会触发指数级锁定。
高风险命令需要确认
明显具有破坏性的操作——清空根文件系统、格式化磁盘、fork 炸弹——会被直接拒绝。合理但有风险的命令,例如重启、停止服务、清空防火墙规则、递归删除,会被拦下,直到 AI 说明确切的命令并确认,让你在执行前看清将要运行什么。
这些防护用来拦截意外,包括模型被它读到的文字误导。它们不是安全边界,节点上的低权限账户才是。如需更加谨慎,可以让网关以只读模式运行,或不授予 fleet.write。
每一次调用都有记录
每次调用,网关都会在返回结果之前向审计日志写入一行并落盘:调用者、时间、节点、命令与退出码。长任务的输出保存在节点上,事后可以随时查看。
服务器上无需安装任何软件
Linux 节点不需要代理程序。接入时只会创建低权限账户并添加网关的公钥,不会在节点上放置任何代码或私钥。移除节点只需一条命令;卸载网关时,会先从所有节点上删除它的公钥。
你的数据流向哪里
使用 LetKite Lite 时,网关运行在你自己的服务器上。命令及其输出只在网关、你的机器和你接入的 AI 客户端之间传递,LetKite 公司不会收到。AI 厂商能看到其助手读写的内容,受该厂商自己的条款约束。
我们针对的威胁
| 如果…… | LetKite Lite 的应对 | 仍存在的风险 |
|---|---|---|
| 有人发现了网关地址 | 所有接口都需要令牌或只提供公开元数据;登录需要密码,连续失败会被锁定。 | 对方能知道该服务存在。 |
| 授权码被截获 | PKCE、两分钟一次性授权码,重放会吊销整组令牌。 | — |
| 访问令牌泄露 | 15 分钟内过期,且只能用于你的网关。 | 在有效期内可被使用。 |
| 提示词注入试图造成破坏 | 命令防护、确认步骤、不授予写入权限或只读模式。 | 防护可能被绕过;账户权限才是边界。 |
| 网关本身被攻破 | 服务运行在沙箱中,密钥只有服务账户可读。 | 网关持有所有节点的密钥,请像保护堡垒机一样保护它。 |
常见问题
AI 可以随意执行任何命令吗?
不能。每条命令同时受三层限制:你授予客户端的权限、为每个节点设置的权限、以及节点上低权限账户本身能做的事。高风险命令还需要明确确认。
LetKite 能看到我的命令和文件吗?
使用 LetKite Lite 时不会。网关部署在你自己的服务器上,命令及其输出只在网关、你的机器和你接入的 AI 客户端之间传递。
审计日志保存在哪里?
保存在网关上,每次调用一行,记录调用者、时间、节点、命令与退出码。
如何报告安全问题?
请发送邮件至 contact@letkite.com,附上复现步骤,并在我们修复之前暂不公开。