验证码卷到噩梦难度!Next.js作者用AI打造DOOM挑战,三杀通关才算人类

全文2523字,阅读约需8分钟,帮我划重点

划重点

01Vercel CEO Guillermo Rauch推出了一款基于《毁灭战士》噩梦难度的验证码程序,要求用户在游戏中击败三个敌人才能通过验证。

02该验证码程序使用WebAssembly构建,核心界面由Vercel的AI驱动网页开发工具v0完成。

03然而,对于非游戏玩家来说,这款验证方式的难度较高,可能导致大量用户被拒之门外。

04尽管如此,这款验证码程序作为一种独特的“守门人”机制,在限制特定访问人群上确实有点意思。

以上内容由腾讯混元大模型生成,仅供参考

整理 | 屠敏
出品 | CSDN(ID:CSDNnews)

在使用 App、网页应用时,你有没有遇到过这样的情况:一个验证窗口突然跳出来,要求你完成某个任务,证明“你是人类,而不是机器人”?

不同网站的安全验证形式可谓是五花八门,有的是让你看着一串扭曲的字符或字母,尽力辨别出来并将其输入在文本框里。

图片

有的是选择正确的某类图片,譬如下图里面“选择所有包含狗的图片”。

图片

还有的是:

  • 做数学题,比如计算出“3 + 5 = ?”;

  • 或长按“我不是机器人”按钮,就可以通过认证;

  • 亦或者是通过分析鼠标移动轨迹等行为,来确认你不是“假人”;

  • ......

如果你已经习惯了这些常见的验证方式,那接下来的这个可能会让你哭笑不得。云服务平台 Vercel 的 CEO Guillermo Rauch 最近灵光一闪,在 AI 的加持下,推出了一种全新的《毁灭战士》(DOOM)验证方式。简单来说,想证明自己是人类?先得玩这款游戏并在“噩梦模式”里干掉三个敌人,才能顺利进入网站体验功能。

图片

一时之间,不知这是极大地提高了网站的安全性,还是成功地把人类拒绝于网站“门外”?

  • 试玩链接:https://doom-captcha.vercel.app/


图片

开发者创造出了基于噩梦难度 DOOM 的可玩验证码(CAPTCHA)程序

事实上,验证码(CAPTCHA)是一种用于区分人类与计算机程序的验证技术,全称为“全自动区分计算机和人类的图灵测试”。

这种技术最早始于 1997 年,通过设置人类容易完成但机器难以破解的任务(例如识别上述扭曲的文字、选择特定的图像、或完成简单的逻辑问题)来验证用户身份。

之前,很多公司使用这种技术来保护网站免受恶意机器人攻击,确保只有真人可以完成特定的操作,例如注册账号、提交表单或访问敏感内容。

然而,据 2023 年加州大学以及微软等研究员的一项研究显示,CAPTCHA 作为有效的机器人防御措施,其寿命可能已接近尾声,因为现在专为破解 CAPTCHA 而设计的机器人可以比人类更快、更准确地完成任务。

图片

论文地址:https://arxiv.org/abs/2307.12108

在这一趋势下,Guillermo Rauch 带来了他的最新创新——《毁灭战士》版本 CAPTCHA,更甚的是,他使用了游戏的噩梦难度,让基于 Doom 的 CAPTCHA 成为至今最难的 CAPTCHA 测试之一。

图片

说来,Guillermo Rauch 也是一个闲不住的开发者、企业家。此前,他开发了知名 React 框架 Next.js、实时通信库 Socket.IO 和 Mongoose 等多个知名开源项目。时下他担任 Vercel 的首席执行官兼创始人,这是一家专注于前端开发工具和网站性能优化的平台。

这一次 Guillermo Rauch 开发的 DOOM 验证码程序,本质是一个小的 DOOM  关卡,你需要用方向键来移动角色,空格键用来开火,但鼠标无法用于瞄准或闪避跳跃。默认情况下,这款验证码程序会给你 50 发弹药、0% 护甲和 100% 生命值,你必须杀死三个“敌人”才算通过安全验证。


图片

一行代码没写,AI 在背后帮忙了?

据悉,这是一个基于 WebAssembly 构建的应用,非常适合在浏览器中直接进行图形渲染、视频处理和游戏操作。

不过,这款应用的核心界面开发是 Guillermo Rauch 依托于 Vercel 在 2023 年推出的 AI 驱动网页开发工具 v0 中完成的。

v0 能通过自然语言提示生成完整的项目,不用写一行代码。

就在发布这个验证码程序时,Guillermo Rauch 还直接分享了他用 v0 构建前端页面的完整提示词以及优化过程(https://v0.dev/chat/4X85A52Dzde#vZBwKTIde4ZPopW5ExYEzIi38oM6vJzm)

图片

起初, Guillermo Rauch 只是给了 v0 一个传统安全验证界面的截图参考,并简单地附上一句“用纯 HTML 给我这个内容,不要包含块级元素”。

图片

v0 很快就反馈了一个 HTML,由此实现创建了一个响应式 CAPTCHA 样式界面。

后续优化过程中,Guillermo Rauch 只是动动手,以自然语言要求 v0 这款可以生成 UI 元件的 AI 工具帮忙优化所有的 CSS 类、适当调整界面中需要显示的字体、在“doom”上添加版权或商标标识、渲染刷新按钮....

最终经过 24 步的微调,Guillermo Rauch 完成了这个应用程序的界面制作,得到了这个:

图片


图片

难度太高的 CAPTCHA 真的能挡住机器人?

作为游戏小白,小编起初试了几次,都以失败告终:
图片
尝试过程中,我们发现的一个通过验证的小技巧是后退等待敌人靠近。一旦敌人进入视野,就用武器远程攻击,效果还很不错。
图片

不得不说,如果你是《DOOM》的粉丝,这款 DOOM 验证码程序确实能带来一丝怀旧的乐趣——在验证人类身份的过程中还能玩一局经典游戏。好在这个验证码并不会让你上瘾,因为完成三次击杀后,游戏会自动结束。遗憾的是,它仅包含一个关卡,每次使用验证码时都只是重复这一任务。

然而,对于非游戏玩家来说,这样的设置让人觉得太难了,尤其是击杀敌人需要一定的手眼协调能力。

对此,HN 上的不少网友也现身评价道:

  • 我尝试按照预期的方式去玩,但发现太难了。我可以通过留在起始区域并杀死右侧出现的敌人来顺利完成任务。

  • 这款应用程序的技术能力 +100,可用性 -100。回忆往事 +10,自我意识到我现在很不擅长玩电子游戏。

  • 怪物太多了,我尝试了 3-4 次……就像真正的验证码一样!

  • 这可真难啊,我想我不是人!

图片

可以想象,如果普通的网站设置这样的验证方式,无疑会直接将一大批普通用户拒之门外。

与此同时,这样的设计也未必就能完全阻止 AI 或机器人,因为某些 AI 已经能够熟练地玩《DOOM》。毕竟,有研究人员已经成功训练 AI 玩 DOOM,并且这些 AI 在表现上甚至超过了普通的 FPS 玩家。

此外,这款 CAPTCHA 的合法性也存在争议。id Software 的 Doom 游戏引擎是开源的不假,但游戏中的数据——比如地图、纹理和精灵等内容——并不是开源的,而这些元素在这个 CAPTCHA 中看起来全都被使用了。

总体来看,这款 DOOM 验证码更像是 Vercel 的 AI 开发工具 v0 的一次技术展示,重点在于展示其生成能力和创意,而非真正的防护工具。对于非游戏玩家来说,这种验证方式难度较高,但作为一种独特的“守门人”机制,它在限制特定访问人群上确实有点意思。

那么,你怎么看待这款验证程序?

参考:

https://doom-captcha.vercel.app/

https://v0.dev/chat/4X85A52Dzde#vZBwKTIde4ZPopW5ExYEzIi38oM6vJzm

https://news.ycombinator.com/item?id=42566112

https://arstechnica.com/gaming/2025/01/someone-made-a-captcha-where-you-play-doom-on-nightmare-difficulty/

图片