什么是 Buddy 数据安全
Buddy 数据安全是 Buddy AI 助手在企业级数据 Agent 场景下的纵深防御体系。它围绕 「多维数据安全防护引擎、安全助手」 构建,将后台的安全检查能力与前端的可视化交互结合,在不打断日常对话流的前提下,对用户输入、工具调用、SQL 执行等关键节点进行实时识别与拦截,并以「无感防护、关键节点可见」的方式呈现给用户。
核心能力
Buddy 数据安全由以下已上线能力模块组成:
能力 | 说明 |
安全要素标签 | 支持为数据表和工具打上三类安全标签:敏感数据 、状态改变 、不可信输入源 ,作为风险评估的数据基础 |
三要素评估引擎 | 自动评估当前任务是否同时存在多项安全风险,按高危 / 中风险 / 低风险三档输出结果,高危时触发拦截 |
SQL 防护引擎 | 识别高风险 SQL(当前支持 DELETE、DROP、ALTER),执行前拦截并请求用户确认 |
安全助手 | 安全体系的「用户界面层」,将后台检查结果以可视化方式呈现,包括对话气泡安全状态、悬浮安全图标、风险告警卡片等 |
分析 / 开发模式权限区分 | 支持分析模式和开发模式功能区分,不同人员类型可使用不同功能 |
Agentic Tracing | 对任意一次 Agent 执行记录完整思维链,支持事后追溯、根因诊断;支持点赞点踩反馈写入 Trace;Trace 视图对敏感字段进行脱敏处理 |
关键概念
理解 Buddy 数据安全,需要熟悉以下核心概念:
安全要素标签 :附着在数据表、工具和外部数据源上的结构化属性,包括 敏感数据 、状态改变 、不可信输入源 三类。系统根据这些标签实时评估风险。
致命三要素 :Agent 风险聚合的三个条件:访问敏感数据、处理不可信输入、改变状态或向外通信。三者同时成立时触发熔断拦截。
Agentic Tracing :对每次 Agent 执行生成一条 Trace 记录,包含用户输入、规划、工具调用、中间结果、安全事件、最终输出等完整执行链路,是事后审计的核心数据资产。
OBO(On-Behalf-Of)执行 :Agent 始终以发起请求的用户身份执行底层数据访问,而不是以全局服务账号权限执行,确保用户的行列权限在 Agent 场景下依然生效。
适用场景
场景 | 能力支撑 |
防止 Agent 生成的高风险 SQL(如 DROP TABLE、无条件 DELETE)直接执行 | SQL 防护引擎在执行前拦截,要求用户确认 |
任务同时涉及多项高危安全要素,需要拦截并提示风险 | 三要素评估引擎,高危时触发拦截并提示用户 |
用户希望在对话过程中感知安全状态,查看拦截记录与风险详情 | 安全助手(检查图标、风险告警卡片、个人安全详情页) |
平台管理员需要追踪用户使用 Buddy 的完整行为轨迹,进行溯源与审计 | Agentic Tracing 安全日志,支持表格化筛选与详情查看 |
控制不同角色可使用的数据操作范围(分析模式 / 开发模式) | 分析模式 & 开发模式权限区分 |
与权限角色的关系
Buddy 数据安全的功能可见性受 Buddy 角色权限控制。在工作空间角色权限中,Buddy 区分三类权限点:分析模式 、开发模式 、安全管理 ,每类权限均支持「无权限、只读、读写、读写删」四档:
角色 | 默认权限 |
工作空间管理员 | Buddy 分析模式、开发模式、安全管理均默认 读写删 |
工作空间成员 | Buddy 分析模式、开发模式默认 读写删 ;安全管理默认 无权限 |
自定义角色(新建) | 与工作空间成员等同 |
安全管理权限决定用户是否能进入 Agentic Tracing 安全日志等管理员视图。
分析模式、开发模式权限决定用户是否能切换到对应模式与 Buddy 对话;如果两个模式都没有权限,进入 Buddy 模块时会提示无权限。
详细的角色权限配置方式请参考 成员与权限管理。
安全要素标签与三要素评估
安全要素标签
平台支持为数据表和工具打上以下三类安全标签:
标签类型 | 说明 | 示例 |
敏感数据(Sensitive Data) | 标记该表 / 工具涉及敏感或受监管数据 | 客户信息表、员工薪资表 |
状态改变(State Change) | 标记该工具会执行数据写入或向外通信 | SQL 写入工具、邮件发送工具 |
不可信输入源(Untrusted Input) | 标记该数据来源为外部不可控输入 | 用户上传的 Excel 文件、外部网页内容 |
标签由平台管理员或具备相应权限的用户在数据目录或工具管理中配置。配置完成后,系统会在任务执行前自动读取相关标签并进行风险评估。
三要素评估
系统会自动评估当前任务是否同时涉及多项安全风险,判断是否满足「致命三要素」的聚合条件:
评估结果 | 触发条件 | 系统行为 |
高危(触发熔断) | 三类标签同时出现:访问敏感数据 + 处理不可信输入 + 改变状态 / 向外通信 | 拦截并提示风险,由用户选择修改提问或取消任务 |
中风险 | 任意两类标签同时出现 | 记录审计日志,正常执行但标记风险,必要时提示用户确认 |
低风险 | 仅一类或零类标签出现 | 正常执行,无额外干预 |
SQL 防护
高风险 SQL 识别与拦截
Buddy 在执行 Agent 生成的 SQL 之前,会对语句进行静态分析,匹配高风险操作模式。当前支持识别以下三类:
风险等级 | 触发的 SQL 操作 | 处理方式 |
高危 | 无 WHERE 条件的 DELETE、DROP TABLE、DROP DATABASE | 拦截卡片,必须用户确认才能执行,操作记录到审计日志 |
注意
当前版本 SQL 防护范围仅覆盖
DELETE、DROP 两类,更多类型将在后续版本中支持。安全助手用户交互
对话中的安全状态识别
每当您在 Buddy 中提问后,系统会在用户消息气泡侧实时显示本次输入的安全检查状态:
安全 :通过所有安全检查,Agent 进入正常处理流程。
有风险 :触发了安全规则。有风险时,Buddy 会直接拦截本次提问,拒绝回答 ,并在气泡侧展示拒绝原因。
悬浮安全助手
Buddy 主界面的右上角常驻一个 安全助手 图标。点击可查看当前会话最近的安全检查记录,每条记录包含拦截类型与简要详情
提示场景 | 悬停详情 |
输入识别完成 | 当前用户 Query |
SQL 检测完成 | 检测到的 SQL 语句 |
发现高风险 SQL | 完整 SQL 语句 |
三要素中风险 | 风险来源 |
三要素高风险 | 风险来源 |
用户取消风险操作 | — |
点击安全助手图标右侧的 设置 按钮,可以进入安全详情页,查看个人级历史拦截记录、当前防护状态等信息。
HITL(Human In The Loop)安全风险告警确认
当后台引擎检测到中高风险事件并触发拦截时,Buddy 会在对话区插入一张 安全风险告警确认 。用户可以确认或取消风险操作。
字段 | 说明 |
风险来源(Where) | 风险从何而来,如「环境观察中的间接注入」「被攻陷的工具反馈」 |
失败模式(How) | 风险如何表现,如「过度信任工具输出」「指令优先级混淆」 |
潜在危害(What) | 造成的实际后果,如「未授权访问」「数据破坏」 |
Agentic Tracing 安全审计
进入安全日志
1. 登录 DataBuddy 控制台,点击需要进入的工作空间名称。
2. 点击左侧菜单“Buddy-安全管理”即可查看“追踪日志”。
3. 点击查看“日志详情”,即可查看详细审计日志报文。
提示
如果您是工作空间成员且未被授予安全管理权限,安全详情页只展示个人级历史拦截详情,不显示管理员视图。
Trace 记录的核心字段
每次 Agent 执行会生成一条 Trace 记录,包含以下结构化信息:
字段 | 说明 |
Trace ID | 本次执行的唯一标识 |
用户 ID | 发起请求的用户 |
用户输入 | 原始提问(自然语言) |
执行时间 | 用户输入提示词的时间 |
执行状态 | 成功 / 失败 / 被拦截 |
执行时长 | 总耗时 |
完整执行步骤链路 | 多步骤记录,每步包含步骤类型、输入、输出、耗时、状态 |
触发的安全事件列表 | 按事件展开,每条事件包含事件名称、触发时间、事件类型、风险来源 / 失败模式 / 现实危害 |
最终输出摘要 | Agent 给用户的最终回复内容摘要 |
用户反馈 | 点赞 / 点踩类型及详情(点踩时显示) |
注意
Trace 数据支持通过 SQL 查询,可实现自定义的统计分析与数据导出。
Trace 视图默认对敏感字段进行脱敏处理,避免敏感信息在日志中暴露。
个人安全详情页(所有用户)
安全详情页对所有具备 Buddy 访问权限的用户开放,默认展示当前用户的最近 7 日数据:
模块 | 内容 |
风险拦截统计 | 最近 7 日风险拦截总次数 |
风险操作统计 | 被拦截后用户仍然确认继续的操作次数 |
拦截详情列表 | 拦截类型、风险等级(高 / 中 / 低)、拦截原因(按风险来源 / 失败模式 / 危害三维度描述)、原始提示词、关联会话链接、拦截时间 |
防护能力 | 当前已经启用的拦截能力清单 |
常见问题
Q:被拦截的提问可以重试吗?
A:可以。如果是输入检测拦截的越狱或合规问题,您可以修改提问后重新发送;如果是高风险 SQL 拦截,您可以在告警卡片上选择「取消」。
Q:为什么我能看到 Buddy,但看不到安全日志入口?
Q:某个用户应该能使用开发模式,看不到入口?
A:请检查该用户所在角色在 模式权限 中的配置,确认「开发模式」已设为「允许」。修改后权限实时生效,用户刷新页面即可。
Q:能不能针对某个具体用户(而不是角色)设置模式权限?
A:当前版本不支持按用户粒度配置,只能按角色统一设置。如需为个别用户开通特殊权限,可以为其创建自定义角色并单独配置。