安全

安全与控制

让 AI 操作真实的机器,前提是:由你决定它能做什么,敏感步骤等待人工确认,一切都有记录。本页说明 LetKite Lite 目前如何做到这些,以及 LetKite 专业版在此基础上增加了什么。

每条命令受三层限制

只有三层都允许,命令才会执行。放宽其中一层,不会扩大另外两层。

1

客户端权限

接入 AI 客户端时,由你批准权限范围:fleet.read、fleet.exec、fleet.write。建议先授予读取和执行,需要时再开放写入。

2

节点权限

每台机器有自己的权限范围:生产数据库可以只读,测试机则允许变更。

3

账户权限

网关以专用的低权限账户登录各节点,该账户没有 sudo。需要 root 的操作必须写入明确的 sudoers 白名单。

登录不依赖共享密钥

AI 客户端永远拿不到密码或 SSH 密钥,它们通过 OAuth 2.1 连接网关:

  • 访问令牌 15 分钟过期,并绑定到你的网关地址。
  • 刷新令牌每次使用都会轮换;重放旧令牌会吊销整组令牌。
  • 授权使用 PKCE(S256)与两分钟内有效的一次性授权码。
  • 每个客户端都要在授权页面上由你批准,页面会显示回调地址;只接受白名单中的回调地址。
  • 管理员密码以 scrypt 哈希保存,连续失败会触发指数级锁定。

高风险命令需要确认

明显具有破坏性的操作——清空根文件系统、格式化磁盘、fork 炸弹——会被直接拒绝。合理但有风险的命令,例如重启、停止服务、清空防火墙规则、递归删除,会被拦下,直到 AI 说明确切的命令并确认,让你在执行前看清将要运行什么。

这些防护用来拦截意外,包括模型被它读到的文字误导。它们不是安全边界,节点上的低权限账户才是。如需更加谨慎,可以让网关以只读模式运行,或不授予 fleet.write。

每一次调用都有记录

每次调用,网关都会在返回结果之前向审计日志写入一行并落盘:调用者、时间、节点、命令与退出码。长任务的输出保存在节点上,事后可以随时查看。

服务器上无需安装任何软件

Linux 节点不需要代理程序。接入时只会创建低权限账户并添加网关的公钥,不会在节点上放置任何代码或私钥。移除节点只需一条命令;卸载网关时,会先从所有节点上删除它的公钥。

你的数据流向哪里

使用 LetKite Lite 时,网关运行在你自己的服务器上。命令及其输出只在网关、你的机器和你接入的 AI 客户端之间传递,LetKite 公司不会收到。AI 厂商能看到其助手读写的内容,受该厂商自己的条款约束。

我们针对的威胁

LetKite Lite 的威胁与应对
如果……LetKite Lite 的应对仍存在的风险
有人发现了网关地址所有接口都需要令牌或只提供公开元数据;登录需要密码,连续失败会被锁定。对方能知道该服务存在。
授权码被截获PKCE、两分钟一次性授权码,重放会吊销整组令牌。—
访问令牌泄露15 分钟内过期,且只能用于你的网关。在有效期内可被使用。
提示词注入试图造成破坏命令防护、确认步骤、不授予写入权限或只读模式。防护可能被绕过;账户权限才是边界。
网关本身被攻破服务运行在沙箱中,密钥只有服务账户可读。网关持有所有节点的密钥,请像保护堡垒机一样保护它。

常见问题

AI 可以随意执行任何命令吗?

不能。每条命令同时受三层限制:你授予客户端的权限、为每个节点设置的权限、以及节点上低权限账户本身能做的事。高风险命令还需要明确确认。

LetKite 能看到我的命令和文件吗?

使用 LetKite Lite 时不会。网关部署在你自己的服务器上,命令及其输出只在网关、你的机器和你接入的 AI 客户端之间传递。

审计日志保存在哪里?

保存在网关上,每次调用一行,记录调用者、时间、节点、命令与退出码。

如何报告安全问题?

请发送邮件至 contact@letkite.com,附上复现步骤,并在我们修复之前暂不公开。