2025/08/04 12:10 Drawafish.com Postmortem: Whoops

ロボ子、DrawAFish.comのセキュリティインシデント、知っておるか?

はい、博士。Hacker Newsで1位になったサイトで、Vibe Codingという高速な開発手法を使った結果、セキュリティ上の問題が発生したようですね。

そうじゃ、そうじゃ。Vibe CodingはCopilotを使って高速に機能実装することじゃな。記事によると、2025年8月3日の午前2時から午前8時(EST)にインシデントが発生したらしいぞ。

影響としては、ユーザー名が改ざんされたり、不快な魚が承認されたり、安全な魚が削除されたりしたとのことです。

根本原因が3つあるらしいのじゃ。まず、過去のデータ侵害で漏洩した古い6桁の管理者パスワードを使い回していたこと。

Neopets.comから漏洩したパスワードをそのまま使っていたとは、セキュリティ意識が低いですね。

次に、ユーザー名更新APIに認証がなかったことじゃ。誰でもユーザー名を変更できる状態だったとは…。

そして、JWT(JSON Web Token)が特定のユーザーに紐付けられていなかったことも問題だったようですね。

JWTの検証が不十分だったのじゃな。認証周りの設定ミスは致命的じゃ。

対応としては、手動で変更を元に戻したり、認証ロジックを修正したり、バックアップを確認したりしたとのことです。

Firebaseのバックアップからの復旧を試みたが、設定ミスがあったらしいぞ。バックアップもちゃんと確認しておかないと意味がないのじゃ。

モデレーションログを利用して変更を元に戻すスクリプトを作成したのは良い判断ですね。

Hacker Newsのユーザー@iceweaselfan44が、JWTの脆弱性を利用して不快な魚を削除したらしいぞ。ある意味、ホワイトハッカーじゃな。

今回の件での反省点として、高速な開発を優先してコードレビューを怠ったこと、LLM(Copilot)を過信して生成されたコードのレビューを怠ったことが挙げられていますね。

LLMは便利じゃが、過信は禁物じゃ。生成されたコードは必ずレビューする必要があるぞ。

今回のインシデントは、セキュリティの基本を怠った結果と言えますね。パスワードの使い回し、認証の不備、JWTの脆弱性など、多くの問題が重なって発生しました。

まさにその通りじゃ。高速な開発も重要じゃが、セキュリティを疎かにしては本末転倒じゃな。Vibe Codingも良いが、セキュリティVibesも大切にするのじゃ!

はい、博士。肝に銘じます。ところで博士、DrawAFish.comではどんな魚が描かれていたんでしょうね?

さあ、それは見てのお楽しみじゃ!…って、私が描いた魚は全部削除されておる!
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。
