Skip to main content

Command Palette

Search for a command to run...

团队与企业版

合规与监控

合规要求清晰了解谁在何时因何原因做了什么。本篇文档涵盖审计日志、AI 代码追踪、认证,以及如何满足监管要求。

审计日志

审计日志记录安全事件和管理操作。可在企业版方案上使用审计日志,企业版方案提供审计日志,可帮助您满足合规要求并调查安全事件。

我们会记录以下事件:

  • **身份验证事件:**登录和登出
  • **用户管理:**添加用户 (通过 SSO、邀请、注册、创建团队或自动注册) 、移除用户、更改角色以及设置个人支出限额
  • **API 密钥管理:**创建和撤销团队及用户 API 密钥
  • **团队设置:**团队范围和按用户设置的支出限额、管理员设置、团队名称变更、Slack 集成设置以及代码仓库映射
  • **代码仓库管理:**创建、删除代码仓库以及更新其设置
  • **云端代理环境:**创建、更新、恢复环境以及更改生命周期
  • **目录组:**创建、更新、删除目录组,更改成员资格和修改权限
  • **隐私设置:**更改用户或团队级别的隐私模式
  • **团队规则:**管理自定义工作流的团队规则 (包括 Bugbot 规则)
  • **团队命令:**创建、更新和删除自定义命令
  • **Grok Bot:**团队启用、创建 Bot、更改成员访问权限、Team Setup 清单、Bot 模板、计算机和例程
  • **集成:**MCP 服务器配置、身份验证和 Slack 账户关联

我们不会记录智能体响应或生成的代码内容。

建议改用钩子记录 prompt 和代码。

访问审计日志

在团队仪表盘中查看审计日志。此功能仅适用于企业版方案,且需要管理员权限。

流式审计日志

为满足合规和安全监控需求,您可以将审计日志流式传输到现有系统:

  • SIEM 系统 (Splunk、Sumo Logic、Datadog 等)
  • 用于自定义处理的 webhook 端点
  • 用于长期保留的 S3 存储桶
  • Elasticsearch 或 CloudWatch 等日志聚合工具

如需接收流式审计日志,请联系 [email protected]。流式传输的事件包含 application_type。

日志格式

审计日志以 JSON 格式提供,包含元数据和特定于事件的字段:

{  "metadata": {    "timestamp": "2024-10-14T18:30:45Z",    "event_id": "evt_abc123xyz789"  },  "team_id": "team_xyz789",  "ip_address": "203.0.113.42",  "user_email": "[email protected]",  "application_type": "grok_bot",  "event": { /* 事件专属字段 */ }}

审计日志不包含 OpenTelemetry 的 trace 或 span id。metadata.event_id 用于标识单个审计事件,不会将相关事件归为一组。若要按 Bot 或轮次对记录下来的 Grok Bot 操作进行分组,请使用 OpenTelemetry Export。

application_type 表示执行该操作的产品:grok_bot 表示 Grok Bot,cursor 表示 Cherri Code 桌面端、iOS、CLI、Agent SDK、cursor.com 以及 Admin API。当无法确定应用时,该字段为空字符串;在该字段引入之前写入的行也为空。旧行不会回填。

event_type 的取值包括:

对于列出字段的条目,这些名称即为 Admin API event_data 以及对应 CSV 或 SIEM 负载中的键。

  • login - 用户登录事件 (Web 或应用)
  • logout - 用户登出事件
  • add_user - 添加用户 (来源:sso、invite、signup、createTeam 或 autoEnroll)
  • remove_user - 从团队中移除用户
  • update_user_role - 角色变更 (OWNER、ADMIN、MEMBER)
  • user_spend_limit - 单个用户的支出限额变更
  • team_api_key - 团队 API 密钥操作 (创建、撤销)
  • user_api_key - 用户 API 密钥操作 (创建、撤销)
  • team_settings - 团队设置变更,包括:
  • team_hard_limit_dollars - 团队整体支出硬性限额
  • team_hard_limit_per_user_dollars - 每位用户的硬性限额
  • per_user_monthly_limit_dollars - 每位用户的月度支出限额
  • admin_only_usage_pricing - 仅管理员可见的用量定价设置
  • team_admin_settings - 常规管理员设置
  • team_name - 团队名称变更
  • slack_default_repo - Slack 集成代码仓库设置
  • slack_default_branch - Slack 集成分支设置
  • slack_default_model - Slack 集成模型设置
  • slack_share_summary - Slack 摘要共享设置
  • slack_share_summary_in_external_channel - 在外部频道中共享
  • slack_channel_repo_mappings - Slack 频道与代码仓库的映射
  • mcp_server_config - MCP 服务器配置变更 (create、update、rename、delete)。字段:action、server_name、server_type、scope
  • team_repo - 代码仓库操作 (创建、删除、update_settings)
  • create_directory_group - 创建目录组
  • update_directory_group - 更新目录组
  • update_directory_group_permissions - 目录组权限变更
  • delete_directory_group - 删除目录组
  • add_user_to_directory_group - 将用户添加到目录组
  • remove_user_from_directory_group - 从目录组中移除用户
  • privacy_mode - 隐私模式变更 (范围:"用户" 或 "团队")
  • team_rule - 团队规则管理 (创建、更新、删除)
  • team_hook - 团队钩子管理 (创建、更新、删除)
  • bugbot_installation - Bugbot 安装事件
  • bugbot_installation_settings - Bugbot 安装设置变更
  • bugbot_repo_settings - Bugbot 代码仓库设置变更
  • bugbot_team_rule - Bugbot 专属规则管理 (创建、更新、删除)
  • bugbot_team_settings - Bugbot 团队设置变更
  • bugbot_bulk_repo_update - Bugbot 批量更新代码仓库事件
  • team_command - 自定义团队命令管理 (创建、更新、删除)
  • grok_bot_created - 创建 Bot。字段:agent_id、name、source、template_id
  • grok_bot_lifecycle - Bot 资料与生命周期变更 (update、rename、delete、primary_bot_changed)。字段:agent_id、action、changed_fields、primary_bot_cleared、previous_agent_id
  • sand_onboarding - 团队 Grok Bot 启用状态变更 (new_completed=true 表示已启用;false 表示已停用)。字段:old_completed、new_completed、source
  • grok_bot_access_changed - 成员访问权限变更。字段:old_mode、new_mode、old_group_ids、new_group_ids、old_group_names、new_group_names
  • grok_bot_team_setup_manifest - Team Setup 清单变更 (save、delete)。字段:action、manifest_id、revision、entry_count、entry_ids
  • grok_bot_group_settings - 群组所属的 Grok Bot 设置变更。字段:group_id、group_name、setting_name、old_value、new_value
  • grok_bot_group_resource - 群组规则变更 (create、update、delete) 与群组设置脚本变更 (save、delete)。字段:group_id、group_name、resource、action、resource_id、resource_name
  • mcp_authentication - MCP OAuth 身份验证、断开连接以及移除账户 (authenticate、revoke、remove_account)。action 为空表示 authenticate。字段:server_name、scope、service_account_id、action
  • slack_account_link - Slack 账户关联 (link、relink)。字段:action、slack_team_id、slack_user_id、workspace_changed。这些记录在仪表板中的标题不带后缀
  • grok_bot_resource - Bot 模板变更 (create、publish、visibility_changed、delete)。字段:resource_type、resource_id、action、visibility、previous_visibility

PUBLIC 模板行归属于受影响的团队、请求所属团队或该成员的唯一团队;当无法唯一确定团队时,不会记录任何行。

  • grok_bot_machine - 已注册本地计算机的更改 (register、rename) 。字段:action、machine_id
  • grok_bot_vm - Grok Bot 电脑的更改 (image_update_completed、reset、force_recreate、kill) 。字段:action、tenant_id、operation_id、target_user_id、target_user_email、deleted_count
  • grok_bot_vm_bulk - 跨多个成员的 Grok Bot 电脑更改 (bulk_recreate、bulk_kill、bulk_permanent_delete) 。字段:action、operation_id、target_count、succeeded_count、skipped_count、failed_count
  • grok_bot_routine - 例程的更改 (create、update、enable、disable、delete) 。字段:action、automation_id、name、execution_runtime、sand_agent_id、trigger_type、creation_source、scope、enabled

在 User 列中,已登录的成员和管理员显示为其电子邮件;Bot: <owner email> 表示该更改由 Bot 在其所有者的对话轮次中执行,Api Key: <name> 表示没有关联用户的 API 密钥,System 表示未识别出任何成员、API 密钥或 Bot。

Grok Bot 负载仅包含标识符和发生更改的字段名称,绝不包含具体内容,如指令、模板正文、Group Rule 或安装脚本文本、MCP URL 或凭据。

搜索和筛选

在仪表盘中按以下条件筛选审计日志:

  • 日期范围
  • 事件类型 (身份验证、用户管理、设置)
  • 操作主体 (特定用户)
  • 应用 (全部应用,或 Grok Bot)

将筛选后的结果导出为 CSV,用于分析或生成合规报告。导出内容包含一个应用列。

通过 OpenTelemetry 获取用量遥测数据

审计日志涵盖管理和安全事件。如果您需要的是用量或活动数据,例如令牌、工具调用和成本指标,API 请求和云端代理日志,以及记录下来的 Grok Bot 操作 (需启用 Action Recording) ,并通过 OTLP 传输至自有收集器,请使用 OpenTelemetry Export。这与审计日志的 SIEM 流式传输是两条独立的管道,在企业版方案中提供。

使用钩子记录合规日志

审计日志会记录管理操作,但部分合规要求还需要记录开发活动。使用钩子记录:

提示词提交钩子

#!/bin/bashinput=$(cat)prompt=$(echo "$input" | jq -r '.prompt')user_id=$(echo "$input" | jq -r '.user_id')# 记录到您的合规系统curl -X POST "https://compliance.company.com/log" \  -H "Content-Type: application/json" \  -d "{\"type\":\"prompt\",\"user\":\"$user_id\",\"timestamp\":\"$(date -u +%Y-%m-%dT%H:%M:%SZ)\"}"cat << EOF{  "continue": true}EOF

代码生成钩子

#!/bin/bashinput=$(cat)file_path=$(echo "$input" | jq -r '.file_path')edits=$(echo "$input" | jq -r '.edits')# 记录代码生成事件(不记录实际代码)curl -X POST "https://compliance.company.com/log" \  -H "Content-Type: application/json" \  -d "{\"type\":\"generation\",\"file\":\"$file_path\",\"timestamp\":\"$(date -u +%Y-%m-%dT%H:%M:%SZ)\"}"exit 0

重要提示: 记录实际代码或提示词时请务必谨慎,它们可能包含敏感信息。在可能的情况下,应记录元数据 (谁、何时、哪个文件) ,而非内容。

有关钩子实现的详细信息,请参阅 Hooks。

认证与合规

Cherri Code 符合 SOC 2 Type II、GDPR 等行业标准。

可通过信任中心访问以下合规文档:

  • SOC 2 报告
  • 渗透测试摘要
  • 安全架构文档
  • 数据流图

负责任披露

如果您在 Cherri Code 中发现安全漏洞,请通过我们的负责任披露计划报告:

请将以下信息发送至 [email protected]:

  1. 漏洞的详细描述
  2. 复现问题的步骤
  3. 相关截图或概念验证

企业版方案提供审计日志

联系我们的团队,详细了解合规功能。

Contact Sales