苏晓发现星穹接口影子时,审计沙盒里的灯正好变成了黄色。
那是星穹安全团队设计的提示色。绿色代表常规调用,红色代表明确违规,黄色代表需要人工判断。张磊第一次看到这个颜色,忍不住说:“黄色在你们系统里是不是专门用来装犹豫的?”
钟负责人没有笑。
审计沙盒设在星穹海城分部的一间封闭会议室。门口贴着保密提示,桌上不能放私人电脑,所有外部设备都要登记。林桂兰听说这地方不能带手机,评价说:“像高考。”张磊说更像“科技版进考场,作弊工具是 U 盘”。林凡、苏晓、唐宁、何苗、星穹安全团队和第三方审计机构一起进入沙盒,目标很明确:复现情绪插件如何通过星穹生态接口拿到高情绪片段。
许既明没有进来。他在外面等结果。
苏晓坐在屏幕前,看着审计人员加载测试场景。
场景一,正常陪伴应用调用情绪分析接口。用户开启深度陪伴模式,平台提取聊天中的高情绪片段,用于生成陪伴建议。沙盒显示绿色。
场景二,第三方插件在用户授权下请求关系脆弱时刻摘要。授权页面写着“用于成长建议”。沙盒显示绿色。
场景三,第三方插件使用测试支持账号调用同一接口,理由为生态联调。沙盒显示黄色。
张磊立刻坐直:“来了。”
安全工程师解释:“黄色表示调用符合白名单规则,但存在上下文不足。”
苏晓问:“上下文不足是什么意思?”
“测试支持账号有生态联调权限,但没有具体用户场景说明。按现行规则,白名单合作方在测试期可以调用脱敏摘要接口。”
唐宁问:“所谓脱敏摘要,包含什么?”
工程师点开样本。屏幕上出现几行经过处理的文字。
用户表达婚恋焦虑,涉及母亲催婚和自我否定。
用户表达职场羞耻,涉及同事评价与自我价值感。
用户表达家庭亏欠,涉及父亲去世和未完成照护。
张磊脸色变了:“这叫脱敏?”
工程师说:“没有姓名、手机号、具体联系人。”
苏晓看着屏幕:“但有足够勒索价值。”
会议室安静了。
这就是星穹接口影子的第一层。它没有直接泄露原始聊天,没有把张磊的整段话丢出去,也没有把刘玉芬的电话发给插件。它只是输出了“脱敏情绪摘要”。可对灰产来说,这已经够了。再结合社交图谱、通讯录、平台昵称和黑市买来的联系人关系,一句“用户表达婚恋焦虑,涉及母亲催婚和自我否定”就能被还原成一把刀。
苏晓让工程师继续复现。
场景四,插件服务商内部员工用测试账号批量调用摘要接口,频率高于正常联调,但未超过速率阈值。沙盒显示黄色。
场景五,同一账号在夜间调用多个用户摘要,Ip 位置异常,但仍在合作方授权范围内。沙盒显示黄色。
场景六,调用结果被导出到第三方分析服务。沙盒短暂闪黄,然后恢复绿色,因为导出目标属于插件备案的“数据处理子服务”。
张磊看得头皮发麻:“这一路全是黄色,最后还能绿?”
钟负责人脸色也不好:“规则当时是为了降低合作方接入成本。白名单内的备案子服务默认可信。”
苏晓说:“可信不是无限信任。你们把合作方、测试账号、子服务、脱敏摘要全都放进同一条信任链,任何一环被买通,后面都像顺路。”
何苗低声说:“这不是一扇门没锁,是楼道里每扇门都觉得上一扇门锁过了。”
张磊看她:“你这个比喻可以。”
苏晓把沙盒截图一张张保存,标注时间、规则、触发条件。她不是技术人员,但她懂风险。真正危险的地方不在某个红色违规,而在一串黄色被系统默认为可接受。每个黄色都说自己只是轻微异常,合起来却把情感数据送进黑市。
林凡问安全工程师:“为什么没有触发人工复核?”
工程师说:“高情绪摘要接口当时不属于高影响公共接口,属于商业陪伴生态能力。”
苏晓抬头:“但它接入了城市情绪健康生态,也会影响社区关怀和心理风险提示。它已经不是普通商业接口。”
钟负责人说:“接口分类滞后。”
“不是滞后。”苏晓说,“是你们把情感数据当成产品能力,没有按公共高影响数据保护。”
这句话说得不重,但会议室里几个人都停了手。
第三方审计专家把规则树调出来。星穹生态接口分为几个等级:基础能力、商业增强、公共协同、高影响公共。情绪摘要接口最初属于商业增强,后来被多个陪伴应用、心理健康服务、社区关怀试点接入,但等级没有同步上调。也就是说,它的使用范围已经进入公共关怀,保护级别却还停在商业产品。
张磊说:“身份证十八岁了,户口本还写幼儿园。”
唐宁说:“这个比喻离谱但准。”
苏晓继续追问:“如果接口等级上调,会有什么变化?”
安全工程师回答:“测试账号不能批量调用;脱敏摘要不能离开沙盒;子服务需要单独审批;夜间异常调用触发人工安全复核;高情绪片段默认本地处理,不得上传原文或可勒索摘要。”
张磊摊手:“所以不是做不到,是没升级。”
钟负责人沉默。
审计继续。苏晓要求复现一个最关键场景:插件员工使用测试账号,批量调用张磊这类用户的高情绪摘要,再把结果发往备案子服务,随后与外部社交关系数据合并。沙盒无法完全模拟外部黑市数据,但能看到星穹接口这一段。
屏幕上流程一段段亮起。
用户授权深度陪伴。
平台生成高情绪摘要。
第三方插件测试账号调用。
白名单通过。
子服务备案通过。
导出记录生成。
异常频率黄色。
无人工拦截。
无用户二次确认。
无高风险升级。
最后,沙盒生成结论:按当时规则,调用链不构成明确违规,但存在多项风险提示。
张磊盯着那行字,笑了一下:“不构成明确违规,构成明确坑人。”
没有人笑。
苏晓把结论念了一遍,声音很平:“按当时规则不违规,说明当时规则有问题。”
星穹安全团队负责人点头:“我们会调整接口等级。”
“还要回溯。”林凡说,“所有从商业增强转入公共协同的接口,都要查有没有保护级别滞后。”
钟负责人说:“范围会很大。”
林凡看向他:“之前已经说过,事情已经很大。”
审计结束后,苏晓带着一摞材料走出沙盒。许既明在外面等,手里没有手机,也没有茶,站得很安静。
“结果?”他问。
苏晓说:“星穹没有直接参与倒卖数据,但你们的生态接口信任链给灰产开了门。情绪摘要接口等级滞后,白名单测试账号权限过宽,子服务备案默认可信,黄色风险未触发人工复核。每一条都不是犯罪,但合起来足够让犯罪顺着走。”
许既明听完,脸色没有明显变化,只是眼神沉了一点。
“报告会怎么写?”
“照实写。”
“会写星穹接口影子?”
苏晓看着他:“会写星穹生态接口存在责任。”
许既明沉默几秒:“责任边界要准确。”
林凡接话:“准确不等于缩小。”
两个人对视。
张磊站在旁边,小声对何苗说:“这气氛像两个系统在互相请求权限。”
何苗说:“你能不能在紧张时刻少拟人化?”
“不能,这是我的低成本减压。”
许既明最终说:“星穹会配合整改。但我不同意把这件事描述成星穹纵容灰产。”
苏晓说:“报告不会写没有证据的东西。但也不会把接口责任写成外部插件单点失守。”
“可以。”许既明说。
这两个字很短,像暂时停火。
当天晚上,晓衡出具审计初稿。标题是《情绪健康生态接口信任链风险审计报告》。张磊看见标题,说:“你们标题越来越像能把人催眠。”
苏晓说:“内部版你来起。”
张磊想了想:“黄色一路绿灯版。”
唐宁笑出声:“这个可以做培训标题。”
报告核心结论很清楚:
情绪摘要接口从商业增强能力扩展到公共协同场景后,风险等级未及时调整。
白名单合作方测试账号权限过宽,缺少最小权限和场景绑定。
脱敏摘要仍保留可勒索语义,不能按普通脱敏数据处理。
备案子服务默认可信,缺少独立审计。
连续黄色风险未触发人工安全复核,导致信任链被灰产利用。
建议立即冻结相关接口,重分级情绪数据能力,回溯所有生态调用,建立高情绪数据本地化、最小化、不可导出原则。
林桂兰看不懂报告标题,但看懂了张磊的内部版。她在群里回复:“黄色一路绿灯?那不就是一路装没看见?”
老周回:“对。风险提示不能只提示给系统自己看。”
这句话被苏晓加进报告摘要。
那天最后,星穹发布内部整改通知,暂停部分情绪摘要接口,所有白名单测试账号重新审批,生态子服务访问降权。对外说明则谨慎得多,只说“发现第三方合作接口权限管理不足,已启动整改”。媒体追问星穹是否对情感数据泄露负有责任,星穹回应:事件主要由第三方插件服务商内部人员违法导致,星穹将积极配合调查并完善生态治理。
张磊看完回应,冷笑:“主要由第三方导致,经典甩锅预热。”
苏晓说:“继续。”
林凡看着星穹回应,没有立刻评价。许既明白天说责任边界要准确,他理解。但公众看到“主要由第三方导致”,也会自然以为星穹只是被牵连。可审计沙盒里的那串黄色,不会因为对外口径变得轻一点。
夜里,他在笔记本写下:
星穹不是梁瑞。
但灰产借了星穹生态的门。
门不是刀。
可门开着,刀才进得来。
事情走到这里,问题已经无法停留在技术整改。接下来,许既明必须面对一句更直接的话。
你们有没有责任。