HackerRankはCheating Daddyを検出するか?
文責 Aaron Cao · 更新
HackerRankはブラウザのタブ内で動作するため、Cheating Daddyのような別のアプリについてデスクトップをスキャンすることはできない。タブの切り替えやペーストイベント、コードの類似度はログに記録され、Webカメラや画面共有による監視は、画面上に表示されるオーバーレイをすべて露呈させる。
HackerRankが実際に観察できるもの
特定のアプリが特定の監視システムに引っかかるかどうか、明確な答えが欲しいはずであり、曖昧な安心材料は答えがないことよりも悪い。このセクションでは、HackerRankのテストが収集する正確なシグナルを列挙する。そのすべてはブラウザ内部から、または採用企業が有効にしたカメラから得られるものだ。
HackerRankのテスト環境はWebページである。ブラウザのイベント、すなわちテストウィンドウのフォーカス喪失、別タブへの切り替え、フルスクリーンからの離脱、コードエディタへのペースト操作を受信し記録する。提出時には、他の候補者の提出コードや公開ソースと比較して類似度スコアを算出する。企業がWebカメラによる監視を有効にしている場合は、受験者本人とその周囲の映像も取得する。
これらはいずれもオペレーティングシステムのスキャンではない。Webページは、マシン上で動作しているプログラムを一覧表示したり、他のウィンドウの内容を読み取ったり、デスクトップのスクリーンショットを撮ったりすることはできない。この境界はブラウザ自体によって強制されるものであり、いかなるツールの巧妙さによるものでもない。
Cheating Daddyはデスクトップオーバーレイであり、それがすべての答えだ
Cheating Daddyは、通話やテストの最中にフローティングウィンドウでAI生成の提案を表示するオープンソースのデスクトップアプリケーションである。その機能はリリースごとに変わるため、ここに書かれている内容も含め、その内部仕様に関する具体的な主張は慎重に扱うべきだ。検出の問題を決定づけるのはそのカテゴリである。それは自分のマシン上で動作する別個のプログラムであり、HackerRankのタブに読み込まれる拡張機能でもなければ、会議に参加するボットでもない。
そのカテゴリこそが答えである。HackerRankには、自分のコンピュータ上に別個のデスクトッププログラムが存在することを知るための経路が存在しない。同じ論理はこのカテゴリのあらゆるツールに当てはまり、だからこそここでの結論は、検出可能性にまとめられた他の名指しツールのページと一致する。
逆もまた同様に重要である。HackerRankのページに実際にスクリプトを注入したり、代わりにエディタへテキストをペーストしたりするツールは、HackerRankがすでに記録しているシグナルの範囲に直接入り込む。ペーストイベントはそのブロックのサイズとともに記録され、空の関数に大きなペーストが現れることこそ、レビュアーがまさに注目するパターンである。
プライバシーの境界線が途切れる場所
上記の境界線を取り払う状況が四つあり、それらは事前に対策を考えておく価値がある。
- 画面共有。画面全体を共有すると、視聴者にはオーバーレイウィンドウが見えてしまう。単一ウィンドウの共有はより限定的だが、ウィンドウ選択ダイアログや通知から情報が漏れることもある。
- 画面録画。一部のアセスメントはセッションを録画し、後から人が確認する。録画は、リアルタイムの視聴者が見たであろうものをすべて捉える。
- 監視ソフトウェアとロックダウンブラウザ。これらはシステムレベルのアクセス権を持ってインストールされ、Webページとはまったく異なる状況である。実行中のプロセスを列挙できる。
- 会社管理のデバイス。雇用主から支給されたノートPCは、デバイス管理とエンドポイントエージェントを動作させており、インストール済みおよび実行中のソフトウェアを報告する。
これらのいずれからも免れるツールは存在せず、SubcueAIも例外ではない。あらゆる状況で検出不可能だと約束する製品は、実現できないものを売りつけているにすぎない。私たちが保存するものとしないものを含め、この点についての私たちの見解はセキュリティページに記載している。
SubcueAIが同じ問題にどう向き合うか
SubcueAIは、いずれも上記の境界線を前提に設計された二つのライブアシスト機能を提供する。ネイティブのmacOS版およびWindows版デスクトップアプリは、システムオーディオとマイクを取得し、ローカルのフローティングオーバーレイに提案を表示する。ブラウザ拡張機能のサイドパネルも、Chromium系ブラウザであるChromeとEdge上でライブアシストを行うが、取得するのは会議タブの音声、つまり面接官側の音声のみで、あなたのマイクは決して取得しない。Firefox版はモック練習専用である。どちらの機能も参加者として通話に加わることはなく、会議ページにコンテンツスクリプトを注入することもない。
SubcueAIの創業者であるAaron Caoがこの形を選んだ理由は明快である。通話に参加するボットは参加者リストに表示され、会議ページを書き換えるスクリプトはページ側が気づける変化である。アシスタントをこの両方の外側に置くことで、シグナルの二つのカテゴリ全体が丸ごと消える。それは上記の四つの状況には何も対処しないし、そうでないふりをすることは、結局候補者自身が代償を払うことになる嘘だ。
コーディングラウンドに関して言えば、ライブアシストよりもリハーサルの方が重要である。L5のプラットフォーム職の面接に備えるバックエンドエンジニアは、同じアルゴリズムやシステム設計の課題を声に出して繰り返し練習し、説明が滑らかになるまで磨き上げることができる。それこそが模擬面接モードが作られた目的である。