Aetherworld
P0.5 · 系统报告
后端安全闭环报告
本轮把已经在前端落地的安全边界(Secret 脱敏、Full60 / Founder-only / Workspace Dump 过滤、社交发布闸)推进到云端表结构与 RLS 策略,并新增后端二次校验入口。
一、云端表结构
| 表名 | RLS | 策略 | 状态 | 说明 |
|---|---|---|---|---|
| social_profiles | 已启用 | 公开可读 / 本人增删改 | 已完成 | 展示型资料,所有登录用户可读。 |
| social_posts | 已启用 | 本人全权 / PUBLIC/UNLISTED 非 BLOCKED 可读 / FOUNDER_ONLY 仅 Founder | 已完成 | 可见性 + QA 状态共同决定可读性。 |
| social_reactions | 已启用 | 关联帖子可见即可读 / 本人增删 | 已完成 | 点赞 / 收藏类型,唯一约束防重复。 |
| social_comments | 已启用 | 关联帖子可见即可读 / 本人增删改 / 需 allow_comments=true 才能新增 | 已完成 | 评论受帖子 allow_comments 控制。 |
| social_collections | 已启用 | 本人 / 公开可读 / 本人增删改 | 已完成 | 收藏集支持公开 / 私密。 |
| social_publish_audits | 已启用 | 本人可读 / Founder 可读全部 / 本人可写 | 已完成 | PUBLISH / BLOCK / UPDATE 全量审计。 |
二、安全闭环检查项
Secret 脱敏 · BC-01
已完成已完成
Model Context Sanitizer
Chat / LLM Provider 出栈前已统一调用 sanitizeModelContext。
Workspace 保存 · BC-02
已完成部分完成
敏感字段弹窗
SecretConfirmDialog 已抽象,调用方接入 filterWorkspaceObjectForSave 后弹窗。Workspace 云同步本身仍为 P1。
社交发布 · BC-03
已完成已完成
前端发布闸
socialPublishPermissionGuard + secret 过滤 + Demo/匿名强制 PRIVATE。
社交发布 · BC-04
已完成就绪 / 待启用
后端二次校验 server fn
securePublishPost 已就位,写入 social_posts + social_publish_audits。当用户登录态可用时即生效。
RLS 边界 · BC-05
已完成已完成
PRIVATE / UNLISTED / PUBLIC / FOUNDER_ONLY
social_posts SELECT 策略已落实四种可见性,BLOCKED 状态自动隐藏。
权限 · BC-06
已完成已完成
Founder-only 读写
is_founder() helper + user_roles.role='founder'。需人工授予首位 Founder。
审计 · BC-07
已完成已完成
发布审计后端化
social_publish_audits 已就绪,本地审计仍保留作为离线 fallback。
权限 · BC-08
已完成已完成
匿名 / Demo 不得真实公开
RLS 要求 auth.uid()=author_user_id,匿名插入将被拒绝。
权限 · BC-09
已完成已完成
Chat 上下文不带 secret
sanitizeModelContext 在 LlmProviderRuntime 前置执行。
权限 · BC-10
已完成部分完成
Workspace 普通对象不含明文 secret
filterWorkspaceObjectForSave 已抽象;保存到 Cloud 仍待 PF-C1 完成。
徽标顺序:前端 / 后端。
三、仍需人工确认
- • 在 user_roles 表中为首位 Founder 账号插入 role='founder'。
- • 在客户端登录后,迁移 aetherSocialRuntime 调用从 publishPost 切换到 securePublishPost。
- • 评估 social_publish_audits 长尾保留策略(建议 180 天)。
- • PUBLIC 帖子未来如需匿名可读,需新增针对 anon 角色的 SELECT 策略(当前仅 authenticated)。
四、下一轮建议
- • P1:Workspace 云同步 + 多端冲突解决。
- • P1:social_posts / collections 列表分页 + 全文搜索索引。
- • P2:评论 / 点赞 / 收藏全部切换为 social_* 表。
- • P2:审计页提供导出 CSV,便于内部复盘。
首页输入会创建一个新对话会话 · Enter 发送 · Shift+Enter 换行