#2041·chatbot-ui

/api/chat/custom 没有认证,通过服务-作用客户端读取任何用户的自定义模式 API 密钥

作者: hyojunlim创建于 2026年9月2日更新于 2026年9月2日

□ 总结 app/api/chat/custom/route.ts'从不拨打getServerProfile ()'或检查会话。 它创建了一个服务作用的Supabase客户端(行20-23),用取自请求体的"CustomModelId"(行28)来装入"模型"一行,再用该行的"api key"和"base url"来运行配有呼叫者发送的"消息"的完成.

□ 影响 认识或猜到“型号.id”的不真实的呼叫者可以运行无限制的完成,记在另一个用户的API密钥上。 由于`base url'来自行,这也是服务器端对模型所有者控制的URL的要求。 路线没有限制费率。

□ 建议修正 触摸模型行前需要认证和所有权 :

const profile = 等待获取ServerProfile () / 然后与用户自己的客户端进行查询,从而应用 RLS, 或者: .eq ("user id", profile.user id) // 在管理员查询上找到, 如果找不到404/403

理想的情况是用用户的cookie("create ServerClient" + anon key)来构建客户端,因此这个路由中根本不需要服务-作用键.

□ 内容 由自动全码库审查(VibeAudit,Claude Fable 5.1);经手检查的推理,不针对现场实例进行。 报告全文:https://vibeaudit-amber.ZVercel.app/a/fx06chatbotui. 很高兴被纠正.

内容来源: mckaywrigley/chatbot-ui