HackerRank 能检测到 Cheating Daddy 吗?
作者 Aaron Cao · 更新于
HackerRank 运行在浏览器标签页内,因此无法扫描你的桌面来发现像 Cheating Daddy 这样的独立应用。它会记录切换标签页、粘贴事件和代码相似度,摄像头或屏幕共享监考还会暴露任何屏幕上的悬浮层。
HackerRank 实际上能观察到什么
你想要一个明确的答案:某个特定的应用会不会触发某个特定的监考系统,而含糊的安慰比没有答案更糟糕。本节列出 HackerRank 测试实际收集的确切信号。每一项都来自浏览器内部,或来自招聘公司开启的摄像头。
HackerRank 测试环境是一个网页。它会接收并记录浏览器事件:测试窗口失去焦点、切换到另一个标签页、退出全屏,以及粘贴到代码编辑器中的操作。提交后,它会将你的代码与其他候选人的提交内容以及公开来源进行比对,生成一个相似度评分。如果公司启用了摄像头监考,它还会捕捉你和周围环境的图像。
这些都不是对你操作系统的扫描。网页无法列出你机器上运行的程序,无法读取其他窗口的内容,也无法截取你的桌面。这一边界由浏览器本身强制执行,而不是靠任何工具的巧妙设计。
Cheating Daddy 是一个桌面悬浮层应用,这就是完整答案
Cheating Daddy 是一款开源桌面应用,会在通话或测试期间在一个悬浮窗口中显示 AI 生成的建议。它的功能集在不同版本之间会有变化,因此对任何关于其内部机制的具体说法都要谨慎对待,包括你在这里读到的内容。真正决定检测问题答案的是它的类别:它是一个在你自己电脑上运行的独立程序,不是加载到 HackerRank 标签页中的扩展,也不是加入会议的机器人。
这个类别就是答案。HackerRank 没有任何渠道能得知你的电脑上存在一个独立的桌面程序。同样的推理适用于这一类的每一个工具,这也是为什么这里的结论与收录在可检测性专题下的其他同类工具页面一致。
反过来同样重要。如果某个工具确实向 HackerRank 页面注入脚本,或者替你把文字粘贴进编辑器,那它就直接进入了 HackerRank 已经在记录的信号范围。粘贴事件会连同代码块的大小一起被记录,而一段大段粘贴出现在一个空函数里,正是审阅者会重点关注的模式。
隐私边界到哪里结束
有四种情况会消除上述边界,也是最值得提前规划的情况。
- 屏幕共享。共享整个屏幕时,任何悬浮窗口都会被观看者看到。共享单个窗口范围更窄,但窗口选择器和通知仍可能泄露信息。
- 屏幕录制。有些测评会录制整个过程,供后续人工审阅。录像会捕捉到实时观看者本会看到的一切内容。
- 监考软件和锁定浏览器。这类软件以系统级权限安装,与网页的情况完全不同。它们可以枚举正在运行的进程。
- 公司管理的设备。雇主发放的笔记本电脑运行设备管理和终端代理程序,会报告已安装和正在运行的软件。
没有任何工具能豁免于上述情况,SubcueAI 也不例外。任何承诺产品在任何情况下都无法被检测到的说法,都是在兜售自己无法兑现的东西。我们对这一说法的版本,包括我们存储和不存储什么,都写在安全页面上。
SubcueAI 如何应对同样的问题
SubcueAI 提供两种实时辅助界面,两者都是围绕上述边界设计的。原生的 macOS 和 Windows 桌面应用会捕获系统音频和你的麦克风,并在本地悬浮层中显示建议。浏览器扩展的侧边栏同样在 Chromium 内核浏览器(Chrome 和 Edge)上提供实时辅助,只捕获会议标签页的音频,也就是面试官那一侧的声音,绝不捕获你的麦克风;Firefox 版本仅支持模拟练习。这两种界面都不会作为参与者加入通话,也都不会向会议页面注入内容脚本。
SubcueAI 创始人 Aaron Cao 选择这种形态是出于一个简单的理由。加入通话的机器人会出现在参与者列表中,而编辑会议页面的脚本是页面能够察觉到的变化。把助手保持在这两者之外,就消除了两整类信号。这做不到消除上面列出的四种情况,假装能做到只会让候选人自己承担后果。
对于编码环节而言,练习比实时辅助更重要。一名为 L5 平台岗位面试做准备的后端工程师,可以大声反复演练同样的算法和系统设计题目,直到讲解变得流畅,这正是模拟面试模式的设计初衷。