合规要求清晰了解谁在何时因何原因做了什么。本篇文档涵盖审计日志、AI 代码追踪、认证,以及如何满足监管要求。
审计日志¶
审计日志记录安全事件和管理操作。可在企业版方案上使用审计日志,企业版方案提供审计日志,可帮助您满足合规要求并调查安全事件。
我们会记录以下事件:
- **身份验证事件:**登录和登出
- **用户管理:**添加用户 (通过 SSO、邀请、注册、创建团队或自动注册) 、移除用户、更改角色以及设置个人支出限额
- **API 密钥管理:**创建和撤销团队及用户 API 密钥
- **团队设置:**团队范围和按用户设置的支出限额、管理员设置、团队名称变更、Slack 集成设置以及代码仓库映射
- **代码仓库管理:**创建、删除代码仓库以及更新其设置
- **云端代理环境:**创建、更新、恢复环境以及更改生命周期
- **目录组:**创建、更新、删除目录组,更改成员资格和修改权限
- **隐私设置:**更改用户或团队级别的隐私模式
- **团队规则:**管理自定义工作流的团队规则 (包括 Bugbot 规则)
- **团队命令:**创建、更新和删除自定义命令
- **Grok Bot:**创建 bot、更改成员访问权限、Team Setup 清单和例程
- **集成:**MCP 认证和 Slack 账户关联
我们不会记录智能体响应或生成的代码内容。
建议改用钩子记录提示词和代码。
访问审计日志¶
在团队仪表盘中查看审计日志。此功能仅适用于企业版方案,且需要管理员权限。
流式审计日志¶
为满足合规和安全监控需求,您可以将审计日志流式传输到现有系统:
- SIEM 系统 (Splunk、Sumo Logic、Datadog 等)
- 用于自定义处理的 webhook 端点
- 用于长期保留的 S3 存储桶
- Elasticsearch 或 CloudWatch 等日志聚合工具
如需接收流式审计日志,请联系 hi@cursor.com。流式传输的事件包含 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": "alice@company.com",
"application_type": "grok_bot",
"event": { /* 事件专属字段 */ }
}
application_type 表示执行该操作的产品:grok_bot 表示 Grok Bot,cursor 表示 Cursor 桌面端、iOS、CLI、Agent SDK、cursor.com 以及 Admin API。当无法确定应用时,该字段为空字符串;在该字段引入之前写入的记录也为空。旧记录不会回填。
event_type 的取值包括:
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 服务器配置变更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 SDK 创建)grok_bot_access_changed- Grok Bot 成员访问权限变更 (全体成员或特定群组)grok_bot_team_setup_manifest- Team Setup 清单操作 (保存、删除)mcp_authentication- MCP OAuth 登录 (作为用户凭据或团队服务账户)slack_account_link- Slack 账户关联 (关联、重新关联)grok_bot_routine- Grok Bot 例程管理 (创建、更新)
重命名之前以 automation 写入的记录,在 API、CSV 和 SIEM 中仍沿用该名称。新的例程记录使用 grok_bot_routine。Cloud Agent 自动化不会被记录。
搜索和筛选¶
在仪表盘中按以下条件筛选审计日志:
- 日期范围
- 事件类型 (身份验证、用户管理、设置)
- 操作主体 (特定用户)
- 应用 (全部应用,或 Grok Bot)
Grok Bot 的事件类型在筛选器中显示为 Bot Created、Grok Bot Access Updated、Grok Bot Team Setup、MCP Server Authenticated、Slack Account Link 和 Routines。
将筛选后的结果导出为 CSV,用于分析或生成合规报告。导出内容包含一个应用列。
通过 OpenTelemetry 获取用量遥测数据¶
审计日志涵盖管理和安全事件。如果您需要的是用量或活动数据,例如令牌、工具调用和成本指标,API 请求和云端代理日志,以及记录下来的 Grok Bot 操作 (需启用 Action Recording) ,并通过 OTLP 传输至自有收集器,请使用 OpenTelemetry Export。这与审计日志的 SIEM 流式传输是两条独立的管道,在企业版方案中提供。
使用钩子记录合规日志¶
审计日志会记录管理操作,但部分合规要求还需要记录开发活动。使用钩子记录:
提示词提交钩子¶
#!/bin/bash
input=$(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/bash
input=$(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。
认证与合规¶
Cursor 符合 SOC 2 Type II、GDPR 等行业标准。
可通过信任中心访问以下合规文档:
- SOC 2 报告
- 渗透测试摘要
- 安全架构文档
- 数据流图
负责任披露¶
如果您在 Cursor 中发现安全漏洞,请通过我们的负责任披露计划报告:
请将以下信息发送至 security-reports@cursor.com:
- 漏洞的详细描述
- 复现问题的步骤
- 相关截图或概念验证
企业版方案提供审计日志¶
联系我们的团队,详细了解合规功能。