技术深度解析
danops-1/gpt-agreement-payment工具包在架构上分为四个核心模块:协议捕获、会话重建、CAPTCHA求解和支付流重放。协议捕获模块使用中间人代理拦截并记录官方ChatGPT客户端与OpenAI API端点之间在合法订阅购买过程中的所有HTTP/2流量。捕获的数据随后被解析,以提取精确的请求序列,包括初始协议端点(`/v1/subscription/agreement`)、支付意图创建(`/v1/payment/intents`)和最终确认(`/v1/subscription/confirm`)。
会话重建模块逆向工程了OpenAI客户端使用的加密随机数生成。通过分析登录流程中提供的JavaScript WebAssembly模块,作者发现随机数由用户会话令牌、服务器提供的挑战和时间戳组合而成,使用SHA-256哈希,并带有一个每24小时更改的盐值。该工具包用Python实现了这一逻辑,使其能够在不运行原始客户端的情况下生成有效的随机数。
hCaptcha求解器是技术上最令人印象深刻的组件。作者没有使用2Captcha或DeathByCaptcha等外部服务,而是在12万张标记的hCaptcha图像数据集上训练了一个自定义的ResNet-18变体——其中60%是合成图像(通过渲染hCaptcha字体和失真算法生成),40%是真实图像(从实时会话中收集)。该模型首次尝试准确率达到68.2%,在最多三次重试后达到89.4%,在消费级GPU(NVIDIA RTX 3090)上平均求解时间为1.8秒。相比之下,商业服务通常达到85-92%的准确率,但每1000次求解成本为0.50-2.00美元,并引入5-15秒的延迟。
| 求解器类型 | 首次尝试准确率 | 三次尝试准确率 | 平均求解时间 | 每1000次求解成本 |
|---|---|---|---|---|
| danops-1自定义ResNet-18 | 68.2% | 89.4% | 1.8秒 | 0.00美元(自托管) |
| 2Captcha(人工) | 92% | 98% | 12秒 | 0.50美元 |
| DeathByCaptcha(人工) | 88% | 95% | 8秒 | 1.20美元 |
| AWS Rekognition(通用) | 45% | 62% | 0.5秒 | 1.00美元 |
数据要点: danops-1求解器虽然不如人工服务准确,但速度极快且免费,使其适用于自动化测试。68%的首次尝试准确率足以应对大多数重放场景,尤其是结合重试逻辑时。
支付流重放模块编排了整个序列。它首先使用有效的会话令牌(单独获取)进行身份验证,然后使用重建的随机数发送协议请求。收到hCaptcha挑战后,它将图像传递给求解器,提交响应,然后继续进行支付意图创建。该工具包包含一个模拟的Stripe支付处理器,模拟成功的卡授权而不实际扣款——这对研究目的至关重要,因为它避免了金融交易。整个流程在30秒内完成,而人类手动操作需要2-3分钟。
一个值得注意的工程细节是该工具包使用HTTP/2连接多路复用来保持所有请求使用相同的TCP连接,模仿官方基于Electron的ChatGPT客户端的行为。这绕过了基本的基于IP的速率限制和连接指纹识别,这些机制会标记来自不同连接的快速顺序请求。
关键角色与案例研究
主要行动者是danops-1,一位化名的安全研究员,曾发布过与AI相关的漏洞研究。他们之前的工作包括对OpenAI API分词管道的逆向工程,以及一个从量化版本的LLaMA中提取模型权重的工具。当前项目在发布第一周内被分叉340次,表明安全研究社区对此有浓厚兴趣。
在防御方面,OpenAI的反欺诈团队由安全工程经理Alex Rice(前Facebook威胁基础设施团队成员)领导,尚未公开发表评论。然而,该公司有积极下架的先例:2024年,OpenAI对三个记录了API速率限制绕过方法的仓库发出了DMCA通知。该公司还使用由Intuition Machines提供的hCaptcha服务,后者有自己的反滥用团队。hCaptcha的挑战系统结合了图像分类、行为分析(鼠标移动、滚动模式)和浏览器指纹识别。danops-1求解器仅击败了图像分类组件;行为分析则通过重放原始捕获中预先录制的鼠标移动模式来绕过。
| 实体 | 角色 | 对此工具的反应 |
|---|---|---|
| danops-1 | 研究员 | 发布工具包;声称于2025年5月20日向OpenAI负责任披露 |
| OpenAI | 目标 | 未公开发表声明;可能正在修补服务器端验证 |