Files
workphone-sdk/开发文档/2、架构/05-规范/20260730_微信安全提醒事件复盘.md
2026-07-30 00:56:29 +08:00

7.2 KiB
Raw Blame History

tags, doc-type, layer, parent
tags doc-type layer parent
工作手机
微信
风控
事件复盘
安全提醒
风控事件复盘 2、架构/05-规范
微信风控统计与执行台账

2026-07-30 微信安全提醒事件复盘

1. 结论

现有证据无法把“安全提醒”精确归因到某一个微信内部规则,但测试记录显示最高概率触发链为:

真实创建群 → 设置群名 → 向新群发送验证消息 → 同日继续进行确认/回放/SDK重载及多轮写入准备。

本次事件不应归因于 20260729_CORE71_05_REAL_EVENT:该轮仅执行一次 get_profile 只读动作,wechat_write_calls=0,没有真实事件增量。

2. 证据时间线

顺序 测试活动 真实写入 结果/风险
1 CORE71-05 事件验收 0 get_profile事件差分为0根因是Hook事件未转发不是微信限制
2 CORE71-47 可见群验收 创建群、设置群名、发送验证消息均有Frida RPC和业务回读
3 CORE71-47 后续准备 计划确认1次 台账明确account_restricted后立即停止,不重放、不换账号
4 CORE71-51 FINAL write_performed=true,真实群操作确认通过
5 CORE71-51 UNWRAP 首次确认出现business_readback_failed,虽停止重试,但微信写入已发生
6 同日SDK reload / publish / gate 多轮 多次重载、Hook检查、接口确认和风险恢复准备叠加在同一设备/账号窗口

3. 触发风险排序

P0高概率

  1. 短时间内连续进行群创建、群改名、发消息三类写动作
  2. 真实写入后继续做确认、回放或恢复性测试
  3. 同一微信账号承担多组CORE71测试任务,动作组合不够单一。
  4. 首次写入回读失败后继续进入后续测试准备,增加异常行为密度。

P1中概率

  1. 多轮SDK重载、Hook重新附着和接口重试改变了运行环境特征。
  2. 真实群名称、验证消息带有明显测试标识,行为模式集中。
  3. 测试前后连续读取群、成员、消息和账号状态,探针密度偏高。

P2待证实

  1. 微信内部返回的安全提醒具体码和触发时间未落盘。
  2. 当前没有完整的微信屏幕安全提醒截图、原始系统日志或官方回执。
  3. 现有rate_limited多处来自OpenAPI示例/门禁配置,不能直接当成真实微信上游限制。

4. 已确认的非触发项

  • CORE71-05_REAL_EVENT:只读get_profile,无微信写调用。
  • Hook事件转发缺陷导致SDK收不到真实事件不会直接造成微信安全提醒。
  • 预检失败:属于本地门禁或脚本兼容问题,本身不是微信动作。

5. 立即处置

  1. 当前账号进入冷却观察,不再执行真实写动作。
  2. 暂停创建群、改群名、批量加好友、群发、朋友圈发布和账号解封测试。
  3. 只允许健康、连接、Hook状态和只读资料检查。
  4. 同一设备窗口只绑定一个任务禁止多个CORE任务并行。
  5. 任一写入回读失败,立即结束窗口,不执行重试和回放。
  6. 下一次写入前必须记录:安全提醒截图、微信原始回执、trace_id、设备窗口ID和账号状态。

6. 后续恢复门槛

必须同时满足以下条件,才恢复单项写入:

  • 连续观察窗口内没有新增安全提醒。
  • Hook状态为attachedhook_available_reported=true
  • 只做一个动作、一个账号、一个设备窗口。
  • 先执行dry_run,再由人工确认一次真实写入。
  • 写入后必须有四证据和业务回读。
  • 真实写入后至少完成一个冷却窗口,再决定是否继续下一项。

7. 证据索引

9. 账号级操作明细登记

账号:ACCOUNT_ID;设备:3c2d803e58f2c30a744234484c4e393e;微信版本:8.0.69。以下按已落盘证据登记,未凭空补充未记录的动作。

9.1 已确认的真实操作

  1. 创建群:调用create_group通过Frida RPC进入微信内部createchatroom场景,生成@chatroom群。
  2. 修改群名:调用set_group_name使用微信RoomSDK命令27写入群名并轮询群表和联系人表回读。
  3. 发送群验证消息:向新群发送测试消息,取得真实message_idmsg_svr_id
  4. 重复确认/回放同一测试窗口出现confirm、幂等回放和后续验证准备虽然调用层设置了retry_calls=0,但底层写入已发生。
  5. 失败后继续切换测试窗口:部分窗口出现readback_failedbusiness_readback_failed随后进入下一组CORE71任务或SDK reload准备。

9.2 已确认的异常细节

  • CORE71-47-VISIBLE:创建群、改名、发消息均返回verified=true,底层标记write_performed=true
  • CORE71-47-ASYNCconfirm一次群名回读失败窗口释放。
  • CORE71-47-VALID-FRIENDSconfirm一次底层生成群后回读失败窗口释放。
  • CORE71-47-NAME-READBACKconfirm一次群名和群成员回读通过。
  • CORE71-51-FINALset_group_name真实写入通过。
  • CORE71-51-UNWRAP第一次confirm返回business_readback_failed,回执明确写入已发生;随后停止重试。
  • CORE71-52第一次confirm后脚本销毁/首败停止,窗口释放。

9.3 最大可能的触发原因排序

  1. 同一账号短时连续创建多个群并改名:这是最强候选,涉及微信内部群聊写场景。
  2. 真实写入后立即发送群消息:新增群、改名、发消息形成连续行为组合。
  3. 写入回读失败后继续做下一轮准备:微信侧可能已接受写入,服务端却因回读失败继续产生测试状态切换。
  4. 多轮SDK reload、Hook attach和任务切换:增加了环境变化和探针密度。
  5. 测试内容高度相似:群名、消息内容、成员组合带有明显批次测试特征。

9.4 不能直接认定的部分

  • 现有文件没有微信安全提醒原始截图、内部retno或触发秒级时间戳。
  • rate_limited出现在OpenAPI示例和门禁配置中不能直接证明本账号当时收到上游频控。
  • CORE71-05只读事件缺失属于Agent事件转发问题不是账号写入行为。

10. 事件状态

状态
触发环节 已定位到高概率写入链
单一根因 待微信原始安全提醒回执确认
当前处置 冷却、暂停真实写入
恢复条件 单动作、单账号、单窗口、四证据
责任台账 微信风控统计与执行台账.md