合规要求清晰了解谁在何时因何原因做了什么。本篇文档涵盖审计日志、AI 代码追踪、认证,以及如何满足监管要求。
审计日志¶
审计日志记录安全事件和管理操作。可在企业版方案上使用审计日志,企业版方案提供审计日志,可帮助您满足合规要求并调查安全事件。
我们会记录以下事件:
- **身份验证事件:**登录和登出
- **用户管理:**添加用户 (通过 SSO、邀请、注册、创建团队或自动注册) 、移除用户、更改角色以及设置个人支出限额
- **API 密钥管理:**创建和撤销团队及用户 API 密钥
- **团队设置:**团队范围和按用户设置的支出限额、管理员设置、团队名称变更、Slack 集成设置以及代码仓库映射
- **代码仓库管理:**创建、删除代码仓库以及更新其设置
- **云端代理环境:**创建、更新、恢复环境以及更改生命周期
- **目录组:**创建、更新、删除目录组,更改成员资格和修改权限
- **隐私设置:**更改用户或团队级别的隐私模式
- **团队规则:**管理自定义工作流的团队规则 (包括 Bugbot 规则)
- **团队命令:**创建、更新和删除自定义命令
我们不会记录智能体响应或生成的代码内容。
建议改用钩子记录提示词和代码。
访问审计日志¶
在团队仪表盘中查看审计日志。此功能仅适用于企业版方案,且需要管理员权限。
流式审计日志¶
为满足合规和安全监控需求,您可以将审计日志流式传输到现有系统:
- SIEM 系统 (Splunk、Sumo Logic、Datadog 等)
- 用于自定义处理的 webhook 端点
- 用于长期保留的 S3 存储桶
- Elasticsearch 或 CloudWatch 等日志聚合工具
如需接收流式审计日志,请联系 hi@cursor.com。
日志格式¶
审计日志以 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",
"event": { /* 事件专属字段 */ }
}
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- 自定义团队命令管理 (创建、更新、删除)
搜索和筛选¶
在仪表盘中按以下条件筛选审计日志:
- 日期范围
- 事件类型 (身份验证、用户管理、设置)
- 操作主体 (特定用户)
将筛选后的结果导出为 CSV,用于分析或生成合规报告。
通过 OpenTelemetry 获取用量遥测数据¶
审计日志涵盖管理和安全事件。如果您需要用量数据,例如令牌、工具调用和成本指标,以及通过 OTLP 传输至自有收集器的 API 请求和云端代理日志,请使用 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:
- 漏洞的详细描述
- 复现问题的步骤
- 相关截图或概念验证
企业版方案提供审计日志¶
联系我们的团队,详细了解合规功能。