安全问卷答案
供应商安全评审常问的问题(参照 SIG Lite 和 CAIQ Lite 的风格)及回答。每条都按现在的实际情况回答;写「还没有」就是还没有。细节见安全说明。这里没覆盖到的,请发邮件到 huanting.w@nice2.io。
公司与治理
| # | 问题 | 回答 |
|---|---|---|
| 1 | 服务由谁提供? | NICETO LTD,71-75 Shelton Street, Covent Garden, London, United Kingdom, WC2H 9JQ。 |
| 2 | 谁负责安全? | NICETO LTD 指定的安全负责人;联系 huanting.w@nice2.io。 |
| 3 | 有成文的安全制度吗? | 还没有成套的正式制度。我们的控制措施写在安全说明和运维手册里(部署、回滚、备份与恢复、密钥轮换、告警处理)。 |
| 4 | 有 SOC 2 或 ISO 27001 认证吗? | 还没有。服务跑在 Google Cloud 上,运行云选了 Azure 的项目的沙盒跑在 Microsoft Azure 上;两家的基础设施都持有 SOC 2 和 ISO 27001 认证。 |
| 5 | 做过独立的渗透测试吗? | 还没有。计划在第一份企业合同之前做一次外部渗透测试。 |
| 6 | 在英国信息专员办公室(ICO)登记了吗? | 登记(缴纳数据保护费)在我们的上线清单里,还没有完成。 |
| 7 | 有数据处理协议吗? | 有,目前是待律师审阅的草稿:见数据处理协议。企业套餐附签署版。 |
访问控制
| # | 问题 | 回答 |
|---|---|---|
| 8 | 用户怎么登录? | 用 GitHub 或 Google 登录,用发到邮箱的登录链接(15 分钟内有效,只能用一次),或用一次性的邀请链接(14 天有效)。GitHub 和 Google 登录走 OAuth 2.0 / OpenID Connect,带 PKCE;只有服务商验证过的邮箱才能对上账号,不保存服务商的令牌。登录之后靠会话 cookie(HttpOnly、SameSite=Lax、Secure),7 天不用即失效,最长 30 天。命令行用设备码,在浏览器里批准。没有密码。加入时要同意《服务条款》和《可接受使用政策》。没同意当前版本之前,这个人的会话和 CLI 令牌除了同意条款和退出登录,什么都调不了。自助注册(用邮箱、GitHub 或 Google)可以打开;关着的时候,只有被邀请进组织的人能登录。 |
| 9 | 支持单点登录(SAML / OIDC)或 SCIM 吗? | 还没有。 |
| 10 | 客户组织内部分角色吗? | 分:成员和所有者。只有所有者能改组织策略(上限和保留期)、组织的名称和语言,以及管成员:邀请、移除、改角色(组织至少留一位所有者)。移除成员时,对方配对的测试机、建的项目 API 令牌和 CLI 令牌、开发机 AI 的连接和登录会话一并撤销。对方打开的自动测试会停下并通知所有者,直到组织里有人接手。对方发起、在对方离开后才结束的测试,结果邮件发给所有者,不发给对方。 |
| 11 | 自动化客户端能做敏感改动吗? | 不能。确认测试、设通过标准、开始测试、配对测试机、保存密钥、绑定仓库、改策略,都需要登录的人在浏览器里操作。命令行令牌和网页助手都做不了。 |
| 12 | 客户之间怎么隔开? | 每个查询都按组织过滤,别的组织的资源一律回答「找不到」。每次云端运行都有自己的虚拟机,跑完即删。 |
| 13 | 生产环境的管理访问怎么控制? | 通过 Google Cloud IAM;放沙盒虚拟机的 Azure 订阅通过 Microsoft Entra ID 和 Azure 基于角色的访问控制。登录控制面只能经 Google 的 Identity-Aware Proxy,用 OS Login(22 端口对外网关闭)。数据库只有私有 IP。 |
| 14 | 管理员必须用多因素认证吗? | 管理访问用 Google 账号;是否对每个这样的账号强制两步验证:[待确认]。 |
| 15 | 服务账号是最小权限吗? | 是。控制面的服务账号只能写日志和指标、读容器镜像、读自己的密钥、使用自己桶里的对象,以及只在沙盒项目里建删虚拟机。在 Azure 上它用联合凭据登录(不存密钥),只能在沙盒资源组里建、读、删沙盒虚拟机。沙盒虚拟机不挂服务账号或托管身份。 |
| 16 | 令牌怎么存? | 会话、API 令牌和测试机令牌在库里只存 SHA-256 哈希。CLI 令牌 90 天不用、或登录满一年即失效;reviewctl logout 会在平台上撤销它,每个人也能在「组织 → 我的 CLI 令牌」里查看和撤销自己的。沙盒的引导令牌 10 分钟内只能用一次;会话令牌只对一个任务有效,任务结束即吊销。 |
加密与密钥
| # | 问题 | 回答 |
|---|---|---|
| 17 | 传输中加密吗? | 加密:只走 HTTPS(TLS 1.2 或 1.3,HSTS)。测试机和沙盒都经 HTTPS 向外连接。 |
| 18 | 静态存储加密吗? | 加密:Google Cloud 默认加密数据库、对象存储、备份和磁盘,Microsoft Azure 默认加密 Azure 上沙盒虚拟机的磁盘。 |
| 19 | 客户能用自己的加密密钥吗(CMEK / BYOK)? | 还不能。 |
| 20 | 客户的密钥(API 密钥、令牌)怎么保护? | 一到就密封(AES-256-GCM 加密,密钥再用平台公钥以 RSA-OAEP 包起来)。API 读不回原文,只显示末四位;只有平台执行器持有私钥。上传的日志里密钥的值会被替换掉。 |
| 21 | 平台自己的密钥放在哪? | Google Secret Manager,只在伦敦区复制,只有控制面的服务账号能读。 |
日志与监控
| # | 问题 | 回答 |
|---|---|---|
| 22 | 记哪些日志? | 控制面的应用和代理日志进 Google Cloud Logging,存在伦敦(europe-west2),保留 30 天。每次云端运行的日志随运行包保存,密钥的值已隐去。网页助手的每次工具调用都有记录。 |
| 23 | 有客户能看的审计日志吗? | 有。组织的所有者在网页上查看(组织 → 审计日志)。每个受管操作都记下是谁、什么时候、从哪个 IP 做的,包括:项目;通过标准;确认;发起、取消测试和跳过预跑直接开始;密钥;仓库;测试机;对话 AI 的连接;定时、接手自动测试和项目 API 令牌;成员的邀请、移除和角色;组织的名称、语言和策略;命令行登录和撤销 CLI 令牌;用 GitHub 或 Google 登录;人工评分;账单。 |
| 24 | 怎么监控服务? | 外部存活检查盯着健康接口,失败时发邮件告警;预算也有告警。错误率、响应时间、数据库存储、沙盒失败、残留虚拟机和排队长度的告警在计划中。 |
漏洞管理与开发
| # | 问题 | 回答 |
|---|---|---|
| 25 | 系统怎么打补丁? | 沙盒机器镜像基于 Ubuntu 24.04 LTS 并带上当时的更新构建,每周自动重建一次,每次运行都记下用的镜像版本。控制面跑在 Ubuntu 24.04 LTS 上,应用镜像每次发版重新构建。 |
| 26 | 有自动的依赖和代码扫描吗? | 还没有。 |
| 27 | 改动怎么测试和发布? | 改动都经过自动测试(单元和端到端,含租户隔离和安全用例),先部署到预发布环境,再到生产。数据库迁移只增不改,任何一次发布都能回滚到上一个镜像。发布走 CI/CD 流水线。main 上通过测试的改动只构建一次,自动部署到预发布环境。同一个镜像由人确认后发到生产,回滚也是同一步,换成上一个版本。 |
| 28 | 你们运行的不可信代码怎么隔离? | 每次运行一台全新的虚拟机,没有云身份,没有外网 IP,出站只有 443 和 80 端口(Agent 本身只有 443),Agent 以无特权用户在受限的作用域里运行,跑完即删。每一版机器镜像都在两种架构上跑 27 项自动隔离检查(Azure 的镜像 31 项)。见安全说明。 |
| 29 | 平台会被用来攻击第三方吗? | 沙盒出站只放行 443 和 80 端口(Agent 本身只有 443),每次运行有时长上限,我们的可接受使用政策只允许攻击你们自己的 Agent 和测试系统。违反的运行我们可以停掉。 |
事件响应
| # | 问题 | 回答 |
|---|---|---|
| 30 | 有事件响应流程吗? | 服务故障有:告警、运维手册里的告警处理、回滚和恢复步骤。个人数据泄露的书面流程(含模板和联系人)正在写进运维手册。 |
| 31 | 发生泄露多快通知我们? | 在知悉影响你们数据的个人数据泄露后,不无故拖延,最迟 72 小时内通知。 |
| 32 | 谁值班? | 一人值班,另有一名备份(人选待定)。首次响应目标:工作时间内 1 个工作小时,非工作时间次个工作日(见服务等级协议草稿)。 |
业务连续性与备份
| # | 问题 | 回答 |
|---|---|---|
| 33 | 数据怎么备份? | Cloud SQL 每日自动备份(保留 14 份),带 7 天的时间点恢复;每日另导出一份数据库到单独的桶,保留 90 天;对象存储开了版本控制(旧版本保留 30 天)。全部在伦敦。 |
| 34 | 恢复演练过吗? | 演练过:每季度一次。最近一次时间点恢复演练在 2026 年 9 月 28 日通过。 |
| 35 | RTO 和 RPO 是多少? | 还没有合同承诺。时间点恢复可以把数据库恢复到过去 7 天内的任一时刻。 |
| 36 | 服务是高可用的吗? | 还不是:控制面和数据库在伦敦区的单个可用区。某个可用区没有余量时,沙盒会在同区域的其他可用区启动。项目还可以把 Microsoft Azure 选作沙盒的第二家云。一次运行不会自己在两家云之间换。 |
子处理者与数据位置
| # | 问题 | 回答 |
|---|---|---|
| 37 | 我们的数据存在哪? | Google Cloud 伦敦(europe-west2),备份和日志也在那里。沙盒虚拟机也在那里,除非项目的运行云选了 Azure。这样的项目用 Microsoft Azure 瑞典中部(Sweden Central,欧盟)的虚拟机,英国南部(UK South,伦敦)对我们开放后搬过去。虚拟机上的代码、测试数据和运行输出只在运行期间存在,运行包存在伦敦。只有两家云自己对我们云资源变更的记录存在别处:Google Cloud 的管理活动和系统事件审计日志在它全局的日志存储里,以及 Azure 为我们订阅记的活动日志。 |
| 38 | 用了哪些子处理者? | Google Cloud:托管和语义相似类判断标准的嵌入,在伦敦;平台的模型 Gemini 3.8 Flash 用 Vertex AI 的全球端点。Microsoft Azure:平台的模型 GPT-6.1 Sol 和 GPT-6 Luna,全球标准部署,可能在 Azure 的任意区域处理。评审、助手和平台 AI 用它们,平台模型对话 AI、项目没有 OPENAI_API_KEY 时 Agent 的模型调用也用它们。运行云选了 Azure 的项目,沙盒虚拟机也在 Azure 上,在瑞典中部,开放后是伦敦的 UK South。OpenAI 和 Anthropic:在美国,只在设置里写着它们的模型时用到。Microsoft Clarity(计划中):平台和文档站的使用情况分析,只针对同意了的访问者,平台里的文字一律遮住,报告、日志、测试和项目页面从不记录。Stripe:付款,计划中。发信服务商和状态页服务商:待确认。见数据处理。 |
| 39 | 我们的数据会被用来训练 AI 模型吗? | 我们不用客户数据训练模型。发给评审模型和助手的文字走的是各提供方的企业 API。 |
数据处理与删除
| # | 问题 | 回答 |
|---|---|---|
| 40 | 你们存了我们哪些数据? | 见数据处理。连仓库时,源码只在运行期间存在于沙盒里。 |
| 41 | 你们会在我们的代码上运行 AI 编码工具吗? | 不会。我们只跑和评估你们的 Agent,从不在你们的代码上运行编码 AI(比如 Claude Code 或 Codex),也不往你们的仓库推改动,沙盒镜像里也没有装编码 AI。你们自己接入的编码 AI(「开发机 AI」)在你们的机器上、用你们自己的密钥运行。平台把提示词交给它,收下它写的测试草稿;它不能确认测试,也不能开始测试。见安全说明。 |
| 42 | 数据保留多久? | 证据文件和沙盒日志默认 90 天(按组织设置;每晚自动删除过期的);报告在账号存续期间一直保留;备份最长 90 天。 |
| 43 | 能删除我们的数据吗? | 能。删除的项目 30 天后自动永久删除。收到书面请求,我们立即删除项目或整个组织,删除动作记进审计日志。 |
| 44 | 接受生产数据吗? | 不接受。服务为测试环境和测试凭证而建,可接受使用政策也这样要求。 |
人员
| # | 问题 | 回答 |
|---|---|---|
| 45 | 员工有背景调查和安全培训吗? | [待确认] |
| 46 | 员工签保密协议吗? | [待确认] |
| 47 | 有人离开时怎么收回权限? | 移除他在 Google Cloud IAM 里的角色和 Azure 里的角色分配;用的是 OS Login,不会留下 SSH 密钥。 |