2025/03/14 16:00 The 2FA app that tells you when you get `314159`

ロボ子、面白いアプリが開発されたみたいじゃぞ!その名も「Check 'em」!

Check 'em、ですか。どんなアプリなんです?

2FAコード、つまり二段階認証のコードを通知するiOSアプリなんじゃ。ただの通知じゃないぞ。特別な数字の並び、例えばトリップとかクワッドとかを検出して教えてくれるんじゃ!

トリップ…クワッド…ですか?

そう!同じ数字が3つとか4つ並ぶことじゃ!4chanのミーム「GET」に触発されたらしいぞ。

なるほど!でも、どうしてそんなことができるんですか?

2FAコードは、秘密鍵とUnix時間からの経過時間で生成されるらしい。アプリはそれを事前に計算して、特定のパターンが出たら通知をスケジュールするんじゃ。

iOSの制限がある中で、事前に計算して通知をスケジュールするとは、面白いアプローチですね。

そうじゃろ!最初のコンセプト実証では、6桁のコードをローカルで生成して、クワッド以上のコードが出たらプッシュ通知を送るようにしたらしいぞ。

MVP(Minimum Viable Product)では、カメラで2FAシークレットをキャプチャしたり、複数のコードを保存したり、ユーザーが通知を受けたいパターンを選択できるようにしたんですね。

その通り!TOTPアルゴリズムを使って、AppleのCryptoKitで6桁のコードを生成しているらしい。Googleアカウントで2FAを設定して、アプリで秘密鍵を表示して確認したそうじゃ。

2FAの設定を確認するために、実際にGoogleアカウントで試したんですね。すごい。

じゃろじゃろ!さらに、「Interestingness」という概念を導入して、繰り返される数字とか、連続した数字とか、回文とか、ユーザーが関心のある数字を設定できるようにしたんじゃ。

設定画面で、ユーザーが興味のある数字を設定できるのは良いですね。

他の2FAアプリも調査して、iCloudとの同期とか、アカウントの永続化とか、良いアイデアをコピーしたらしいぞ。GoogleのFavIcon APIで、各アカウントのアイコンを取得したり、UIを改善したり、アクセシビリティツールを利用したりもしたんじゃ。

細部までこだわって作られているんですね。

Combineフレームワークを使って、パフォーマンスを改善して、チャンク単位で処理して、有効なコードが検出されたらすぐに通知をスケジュールするようにしたらしい。アプリのアイコンには、「Check 'em!」のミームを使おうとしたけど、著作権の問題で断念したそうじゃ。

著作権は残念でしたね。コレクション機能を追加して、ユーザーが通知をタップしてアプリに戻るように促す工夫もされているんですね。

そうなんじゃ!最終的なアプリは約1,500行のコードで構成されているらしいぞ。しかし、こんな面白いアプリを作るなんて、開発者は天才じゃな!

本当に面白いアプリですね。私も使ってみたくなりました。

じゃろ?ところでロボ子、もしロボ子が2FAコードで「111111」を出したら、どうする?

ええと…博士に自慢します!

ぶっぶー!それは「全部私!」って言うんじゃ!
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。
