生成AIのバイブコーディングで開発したお絵描き共有サイト「DrawAFish.com」に脆弱性を突いた荒らしが発生、得られた教訓とは?

魚の絵を描いて共有するウェブサイト「DrawAFish.com」でセキュリティインシデントが発生しました。インシデントは、DrawAFish.comがソーシャルニュースサイトのHacker Newsで1位となり注目を集めた直後に起こったとのことです。
DrawAFish.com Postmortem — Aug 3, 2025 Incident - Alden Hallak
https://aldenhallak.com/blog/posts/draw-a-fish-postmortem.html
DrawAFish.comはその名の通り、「世界中の人が描いた魚の絵が水槽の中で泳ぐ様を見ることができる」というサイトです。

インシデントはアメリカ東部時間の8月3日2時から8時まで、約6時間にわたって続きました。具体的には、全てのユーザー名がヘイトスピーチなどの攻撃的な言葉に書き換えられ、不快な魚の画像が承認される一方で、ユーザーが描いた美しい魚の画像が削除されるという被害が発生したとのこと。
1つ目の原因は、過去にデータ侵害で漏洩した古い管理者パスワードが使われていたことです。DrawAFish.comの開発者は作成時、テスト目的で子供の頃に使っていたユーザー名と6桁のパスワードを設定していました。このパスワードは過去に別サイトから漏洩したことがあったそうです。
開発者はその後、Google認証でログインするようになったため、このパスワードとユーザー名の組み合わせがシステム上に残っていることを完全に忘れていました。攻撃者はこの漏洩したパスワードを発見し、管理者としてサイトにログインすることができてしまいました。

2つ目の原因は、ユーザー名を変更するAPIに認証機能が欠けていたことです。この機能は開発の最終段階で急いで追加されたもので、開発者は「後でレビューしよう」と考えたまま、対応を忘れていました。その結果、ユーザー名を変更する際に本人確認などの認証が一切行われず、誰でも任意のユーザーのIDを書き換えることが可能な状態になっていました。
3つ目の原因は、ログイン認証に使われるJSON Web Token(JWT)が特定のユーザーに紐づけられていなかったことです。DrawAFish.comでは、ログインを許可するためにJWTが使われていましたが、そのJWTがリクエストを送信してきたユーザーのものかどうかを確認する処理を怠っていたとのこと。これにより、攻撃者はまず漏洩した管理者パスワードでログインして管理者のJWTを取得し、そのJWTを自分のリクエストに添付することで、管理者になりすまして不正な操作を行うことが可能になってしまいました。
開発者は7時45分頃に問題に気づき、復旧作業を開始。しかし、設定していたバックアップは正常に機能しませんでした。一方で、JWTの脆弱性に気づいた別のユーザーが、この脆弱性を逆手に取って管理者としてログインし、攻撃者が承認した不適切な魚の画像を削除する手助けをしてくれました。 その後、開発者はこのユーザーと連絡を取り、コードの修正にも協力してもらったと述べています。

開発者はこのインシデントについて、自身の開発スタイルに問題があったと反省しています。このサイトはCopilotなどのAIツールを多用したバイブコーディングで開発されましたが、その過程でコードレビューやテスト、セキュリティ対策を怠ったことを認めています。開発者は、LLMはあくまでツールであり、生成されたコードをレビューし、最終的な責任を負うのは開発者自身であると結論づけました。
・関連記事
AIでウェブサイトを作成できるサービス「Lovable」で作られたサイトにユーザーのAPIキーやメールアドレスなどが漏えいするセキュリティ上の欠陥があることが判明 - GIGAZINE
マクドナルドが使う求人サイトのパスワードが「123456」で応募者情報6400万件が流出 - GIGAZINE
押しボタン式信号機がハッキングされて「トランプ大統領やイーロン・マスクのAI音声」が再生されるサイバーパンクすぎる事件が発生 - GIGAZINE
GitHubで非公開にされたはずのリポジトリがMicrosoftのAIアシスタント「Copilot」を通じて公開されていたという指摘 - GIGAZINE
AnthropicがチャットAIの悪用事例と対策手法をまとめたレポートを公開、100人以上のSNSアカウントをAIで動かして政治的思想を扇動するサービスが報告される - GIGAZINE
・関連コンテンツ
in ソフトウェア, ネットサービス, セキュリティ, ウェブアプリ, Posted by log1i_yk
You can read the machine translated English article A vulnerability was exploited on the dra….







