AntiVision-SDK

项目提案:AntiVision SDK

1. 定义问题

1.1 什么被颠覆了

传统反作弊的防御模型建立在三个假设上:

假设 传统外挂 AI 视觉外挂
外挂需要修改游戏进程 ✅ 注入 DLL / 读写内存 ❌ 不碰游戏进程
外挂留下可检测痕迹 ✅ 文件签名 / 行为特征 ❌ OBS 是合法白名单软件
防御在操作系统的管辖范围内 ✅ 用户态 + 内核态 ❌ OBS 采集画面是天经地义的功能

AI 视觉外挂(OBS + YOLO + 鼠标模拟)完全落在传统反作弊的检测锥之外。 它不注入、不读内存、不改文件。它只是——看着屏幕,然后挪鼠标。

1.2 市场证据

2026 年 4-5 月《三角洲行动》的数据:

这不是三角洲一家的问题。 每一个 FPS 游戏都有屏幕,每一个屏幕都可以被采集,每一个采集画面都可以喂给 AI。这只是第一个爆发的。

1.3 目标客户

任何一个有下列特征的 FPS 游戏开发商:

最迫切的客户:

  1. 腾讯魔方工作室群(三角洲行动开发商)—— 正在燃烧
  2. 腾讯光子/天美(PUBG Mobile、CF 等)—— 同类威胁
  3. 网易雷火/互娱(永劫无间、守望先锋国服)
  4. 中小 FPS 团队(没有 ACE 级别的反作弊资源)

2. 解决方案

2.1 核心思路

不在检测环节和外挂对抗。在信息源头做手脚。

传统反作弊:找外挂 → 封号(事后,被动)

我们的方案:让 AI 看不见人(事前,主动)

2.2 技术路径:对抗性纹理 + 无限种子生成

                      ┌───────────────────┐
服务器下发 seed ───→  │  Generator (2MB)  │  ───→ 对抗纹理
                      │  运行在 GPU 上     │       应用于角色模型
                      │  推理 < 1ms       │
                      └───────────────────┘

OBS 采集画面 → AI 检测器 → 特征图全噪声 → 置信度 0.02 → "没有人"
                                                  ↑
                              CNN 的结构性频率偏好被利用
                              换什么检测模型都逃不掉

四层攻击保证跨模型迁移性:

层级 攻击目标 对什么有效
① 输出层攻击 让检测置信度归零 已知模型
② 集成训练 多模型联合梯度上升 主流模型家族
③ 特征层攻击 让中间特征图熵最大化 所有 CNN 架构
④ 频域攻击 在 DCT 中高频带注入噪声 所有基于卷积的视觉模型

为什么频域层是终极保证:

CNN 检测物体依赖纹理信息(中高频)。人类依赖轮廓和颜色(低频)。在纹理频带注入扰动 = CNN 瞎了,人眼无感。这是卷积运算的数学同构性决定的——换什么架构都逃不掉,因为第一层永远是卷积。

2.3 核心创新:无限种子自动生成

手工 50 套纹理 → 外挂作者收集样本 → 重新训练模型 → 适应了

                vs

64-bit 种子空间 → 2^64 种纹理 → 每局不同 → 外挂作者永远追不上

博弈分析:

  防御方(你) 攻击方(外挂作者)
操作 换一个 seed 收集样本 → 标注 → 训练 → 分发
耗时 0(直接取随机数) 几小时~几天
成本
频率 每局一次 追不上
可扩展性 种子空间 2^64 有限 GPU 算力

结构矛盾: CNN 想 “泛化对抗所有纹理” = CNN 必须学会忽略纹理 = CNN 自毁(它本来靠纹理识别物体)。

2.4 为什么这不是又一个无效的军备竞赛

军备竞赛通常对防御方不利——因为攻击方只需要找到一个漏洞,防御方需要堵住所有漏洞。但这一次不一样:

我们在利用 CNN 的数学性质,不是利用已知模型的工程弱点。 频域对抗扰动的有效性来自卷积运算的结构偏好——这是计算层面的,不是模型设计层面的。外挂作者要绕过,不是在换模型架构,是在推翻卷积运算本身。


3. 产品形态

3.1 交付物

组件 形态 大小 说明
对抗纹理生成器 ONNX 模型 2-5 MB 随游戏客户端分发
UE5 插件 C++ Plugin ~5 MB 一键导入,接管角色纹理
Unity 插件 C# Package ~3 MB 同上
服务端 SDK Python/C++ 库 ~100 KB Seed 管理 + 下发
训练工具 Python 脚本 - 供游戏方自定义模型
技术文档 PDF - 集成指南 + API 文档

3.2 集成复杂度

Step 1: 将 generator.onnx 放入游戏资源目录                    (5 分钟)
Step 2: 在 GameMode::BeginMatch() 里加一行 GetSeed()          (1 行代码)
Step 3: 在 CharacterMaterial 里挂上 AntiVisionComponent      (编辑器操作)
Step 4: 服务端每局下发 seed 字段                               (1 行代码)

集成周期:1 天(不含测试)。 不需要改渲染管线,不需要改角色模型,不需要改服务器架构。

3.3 对性能的影响


4. 风险与诚实边界

4.1 能做什么

威胁 防御
OBS / 录屏 AI 视觉挂 ✅ 能防
双机采集 AI 视觉挂 ✅ 能防(采集卡也拿不到干净的纹理)
代码注入到白名单软件的视觉挂 ✅ 能防
使用任意未知 CNN 模型的视觉挂 ✅ 高概率有效(频域攻击跨架构迁移)

4.2 不能做什么

威胁 说明
DMA 硬件内存读取 不经过画面,直接从 PCIe 读物理内存
外部软件内存读取 RPM / 内核驱动读
内部 DLL 注入读内存 需要传统反作弊对抗
用相机物理拍摄屏幕 极罕见,效率太低

4.3 军备竞赛风险

外挂方的反击手段 我们的应对 效果
重新训练模型适应纹理 每局新 seed,他的训练周期 > 你的更新周期 ✅ 稳赢
换 ViT/Transformer 架构 Transformer 的 patch embedding 同样受频域扰动影响 ✅ 高概率有效
收集大量样本,训练跨种子泛化 CNN 学会忽略纹理 = CNN 失明,自毁矛盾 ✅ 理论保证
转向 DMA 内存读取 不在本方案范围内,需配合内存保护方案
降低采集分辨率 降采样扩散高频扰动到更大区域,同样失效

5. 开发路线图

Phase 1:可行性验证(2-3 周)

出口标准: 对抗纹理使 5 种主流检测器置信度 < 0.1,同时 10 人测试中无人发现画面异常。

Phase 2:生成器训练(3-4 周)

出口标准: 随机 1000 个种子各生成纹理,对 5 种检测器平均置信度 < 0.1。

Phase 3:引擎插件(2-3 周)

出口标准: 在 UE5 Lyra Starter Game 中集成,OBS + YOLO 检测失效。

Phase 4:产品化(2 周)


6. 下一步讨论

请审阅并回答以下问题,我们确定方向后进入开发:

  1. 优先级:先做 UE5 还是 Unity 插件?考虑到三角洲(UE4/5)是主要目标。
  2. 开源策略:生成器的训练代码是否开源?模型权重如何分发?
  3. 定价模式:一次性授权费 vs 年度订阅 vs 反作弊效果分成?
  4. 是否需要我立刻搭建 OBS + YOLO 外挂模拟环境开始 Phase 1?

相关文档