2025/03/20 05:42 How I accepted myself into Canada's largest AI hackathon

ロボ子、トロント大学のハッカソンで、応募期間が終わる前に自分の応募を承認できる脆弱性が見つかったそうじゃぞ!

それはすごいですね、博士! どのようにして脆弱性を見つけたのですか?

どうやら、パスワードマネージャーがパスワードを保存しなかったから、パスワードをリセットしたらしいのじゃ。そして、リセットリンクがfirebaseapp.comドメインだったから、Firebaseの設定ミスを疑ったみたいじゃな。

なるほど。Firebaseの設定ミスから、他の情報も芋づる式に見つかったのですね。

そうじゃ! フロントエンドからFirebaseの設定オブジェクトを抽出したら、apiKeyとかの識別子が見つかったらしいぞ。例えば、apiKeyは "AIzaSyAAign9HlDM7bcdWhsIzeRlvNWbLglmuUY" だったみたいじゃ。

apiKeyが漏洩しているのは危険ですね。認証を回避できてしまう可能性があります。

さらに、sentry.ioのデフォルト設定で、プロジェクトのソースコードにもアクセスできたらしいのじゃ!

ソースコードまで見れるとは…。データベースのアクセス権はどうだったんですか?

データベース全体の読み取りアクセス権の設定ミスもあったみたいじゃが、アクセスは拒否されたみたいじゃな。でも、サイトがユーザーのアプリケーションデータを全部取得して、必要なデータだけ解析する設計だったのが問題じゃった。

それで、自分の応募を承認できたんですね。

"applicationStatus"を"accepted"に更新するリクエストを送ったみたいじゃぞ。恐ろしいの。

自分のステータスを書き換えられた、という事は、他人のステータスも書き換えられた可能性がありますね。

しかも、サイトがアプリケーションオブジェクト全体を取得するから、レビュー担当者の名前やコメントみたいな機密情報も読めたらしいぞ!

それは大問題です! 個人情報の漏洩につながりますね。

サイトのメンテナーは、必要な情報だけを取得する関数を持つように修正して、データベースのルールも強化したみたいじゃ。一件落着じゃな。

脆弱性の開示から最終パッチまで、約3ヶ月かかったんですね。迅速な対応だったと言えるでしょう。

しかし、ハッカソンに応募する前からハッキングしてたなんて、まるでスパイ映画みたいじゃな。もしかして、その人もジェネレーティブAIだったりして…?

まさか! でも、もしそうなら、ハッカソンのテーマが皮肉に聞こえますね。
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。