Hotdry.
ai-security

逆向 Cursor AI 机器指纹:自动化重置 ID 绕过 Pro 试用限流

剖析 Cursor AI 机器指纹机制,提供 MachineID 重置与自动化注册的路径配置、时机参数及部署监控清单,实现无限试用 Pro 功能。

Cursor AI 作为一款基于 VS Code 的 AI 驱动 IDE,通过机器指纹(machine fingerprinting)机制严格限制免费试用账户的使用次数。具体而言,它将 trial request limit 与特定机器 ID 绑定,当用户在同一机器上创建过多试用账户时,会提示 “You've reached your trial request limit. / Too many free trial accounts used on this machine.” 此机制的核心在于持久化存储的 machineId 文件及 globalStorage 中的 storage.json 和 state.vscdb,这些文件记录了账户使用历史和令牌消耗。

逆向分析显示,machineId 是 Cursor 生成的唯一标识符,存储在用户目录下(如 Windows: % APPDATA%\Cursor\machineId;macOS: ~/Library/Application Support/Cursor/machineId;Linux: ~/.config/Cursor/machineId)。storage.json 保存 trial 相关状态,如请求计数;state.vscdb 是 SQLite 数据库,记录更细粒度的会话数据。绕过原理简单:删除或覆盖这些文件,同时通过浏览器自动化模拟全新机器注册新试用账户,处理 Cloudflare Turnstile 人机验证和临时邮件确认。该方法不修改 Cursor 二进制,仅操作配置层,避免反调试检测。

实际部署中,自动化脚本(如开源 cursor-free-vip)采用 Selenium WebDriver 驱动浏览器(Chrome/Edge/Opera 等),按序执行:关闭 Cursor → 重置文件 → 打开注册页 → 输入临时邮件 → 处理 Turnstile → 提取验证码 → 完成激活 → 保存新配置。核心是参数调优,确保成功率 >90%。

路径配置清单(按 OS 分层):

  • Windows(x64/x86)

    • machine_id_path: C:\Users{username}\AppData\Roaming\Cursor\machineId
    • storage_path: C:\Users{username}\AppData\Roaming\Cursor\User\globalStorage\storage.json
    • sqlite_path: C:\Users{username}\AppData\Roaming\Cursor\User\globalStorage\state.vscdb
    • cursor_path: C:\Users{username}\AppData\Local\Programs\Cursor\resources\app
  • macOS(Intel/Apple Silicon)

    • machine_id_path: /Users/{username}/Library/Application Support/Cursor/machineId
    • storage_path: /Users/{username}/Library/Application Support/Cursor/User/globalStorage/storage.json
    • sqlite_path: /Users/{username}/Library/Application Support/Cursor/User/globalStorage/state.vscdb
  • Linux(x64/ARM64)

    • machine_id_path: ~/.config/Cursor/machineId
    • storage_path: ~/.config/Cursor/User/globalStorage/storage.json
    • sqlite_path: ~/.config/Cursor/User/globalStorage/state.vscdb

替换 {username} 为实际用户。脚本需管理员权限执行,确保文件锁定释放。

时机与随机化参数(config.ini 节选,单位秒):

[Timing]
min_random_time = 0.1      # 最小随机延时,防检测
max_random_time = 0.8      # 最大随机延时
page_load_wait = 0.1-0.8   # 页加载等待,格式 a-b
input_wait = 0.3-0.8       # 输入模拟延时
submit_wait = 0.5-1.5      # 提交延时
handle_turnstile_time = 2  # Turnstile 处理固定时间
handle_turnstile_random_time = 1-3  # 随机补充
verification_success_wait = 2-3     # 验证成功后等
retry_interval = 8-12      # 重试间隔
max_timeout = 160          # 全局超时
max_attempts = 3           # 最大尝试

这些参数模拟人类行为:随机延时分布服从均匀或正态,Turnstile 等待结合固定 + 随机。浏览器指纹伪装可选,通过指定非默认 Chrome(如 Opera)及 driver 路径降低追踪风险。临时邮件服务优先非 disposable(如自定义 TempMailPlus),避免 “User is not authorized” ban。

部署与监控清单:

  1. 预备:安装 WebDriver(chromedriver.exe 等,放 drivers/ 目录);下载最新脚本;配置 config.ini 路径(尤其是 storage_path,根据实际调整)。
  2. 执行:关闭所有 Cursor 进程(taskkill /f/im Cursor.exe);运行 install.sh/ps1(Linux: curl ...;Win: irm ... | iex);观察日志,Ctrl+C 停止。
  3. 验证:重启 Cursor,检查设置页无 trial 限流提示;显示账户 info(show_account_info=True)。
  4. 监控点
    • 成功率:日志中 “Verification Success” 计数 /attempts。
    • 异常:权限错误(提升 admin);邮件 ban(换服务);Turnstile fail(增 handle_turnstile_time)。
    • 更新检查:check_update=True,定期 pull repo。
  5. 回滚:若失败,手动 rm 上述文件 + 新注册;备选浏览器轮换。

风险控制:Cursor 可能升级 fingerprint(如硬件 ID、canvas 等浏览器指纹),脚本需跟进 CHANGELOG。长期使用建议订阅 Pro 支持开发,或自建代理池隔离。检测阈值:单机 >5 accounts / 天 高危。

该绕过聚焦配置重置与流程自动化,证据源于路径分析与脚本行为观察。“This tool is for educational purposes, currently the repo does not violate any laws.” 部署后,每日 Pro 功能无限,适用于测试场景。

资料来源

查看归档