🔓

「1行もコードを書いてない」——3日後、150万APIキー漏洩。身に覚えがあった【前編】

に公開

「1行もコードを書いてない」

2026年1月、SNS「Moltbook」がローンチした。バズったのはサービスじゃなくて、創業者の一言

Moltbook創業者のXポスト
元ポスト — 「Moltbookのコードは1行も書いてない。技術アーキテクチャのビジョンだけ持って、AIがそれを現実にした」

Xでめちゃくちゃ回ってた。「コード書かなくてもここまで作れるのか」って

3日後、全部崩れた

curlコマンドを1回叩いただけで、本来見えてはいけない150万件のAPIキーが丸見え。特別なハッキング技術は何もいらなかった

昔、GitHub の public リポジトリに API キーを置いてしまったことがある。Google からすごい請求が来た。英語が上手な同僚が Google とやりとりしてなんとかしてくれたけど、その日1日死んでた。あのときはAIなんてなかったけど、やらかしの中身は同じだった

ローンチ3日目の夜

ローンチは1月28日。150万のAIエージェントが登録されてたけど、実際の人間ユーザーは約17,000人。比率88:1。問題はそこじゃない

3日目の1月31日、Wizが脆弱性を発見してMoltbook側に報告してます。ここからが もぐら叩き

1箇所塞ぐと別の穴が見つかる。読み取りを防いだと思ったら書き込みが開いてた。修正→再報告を4回繰り返して、全部塞ぐのに約3時間。深夜にこれはきつい

何が漏れたか:

  • APIキー: 150万件
  • メールアドレス: 35,000件
  • プライベートDM: 4,060件
  • 合計: 475万レコード

特にまずかったのが、DMの中身。ユーザーが「ここなら大丈夫だろう」とOpenAIのAPIキーを平文で貼り付けてた。大丈夫じゃなかった

太郎: 例のAPIの件、キーもう発行した?
花子: うん、これ使って: sk-test-1234abcd...
太郎: え、ここで送って大丈夫?

こういうやりとりが全部、外から丸見え。Moltbookが破られた時点で、他のサービスまで道連れ。私もDMでAPIキー送ったことある。他人事じゃなかった

詳細はWizのレポートで

https://www.wiz.io/blog/exposed-moltbook-database-reveals-millions-of-api-keys

鍵のかかってない家

原因がシンプルで、鍵をかけ忘れた家 と同じ

MoltbookはデータベースにSupabaseというサービスを使ってた。Supabaseではデータベースへの接続情報がブラウザから見える。これは仕様です。マンションの共用エントランスの暗証番号みたいなもので、それだけじゃ各部屋には入れないようになってます。部屋ごとに「誰が入れるか」の鍵が別にかかってますから

Moltbook — 全部屋が素通し(RLSなし)

本来の設計 — 部屋ごとに施錠(RLSあり)

Moltbookには、この部屋の鍵が 一つもなかった

ブラウザの開発者ツールで接続情報を拾ったら、もう全部見えてしまう。ハッキングというより、開いてるドアから入っただけ

"Without RLS policies, this key grants full database access to anyone who has it."
(アクセス制限がなければ、この鍵を持ってる人は誰でもデータベースに自由にアクセスできる)
Wiz

しかも読み取りだけじゃなく、書き込みも全開 だった。投稿を書き換える、偽の情報を流し込む、他人のアカウントを乗っ取る——全部できた。正直、RLSって言葉すらこの事件で初めて知った

Moltbookは一時的にサービスを止めて修正、全APIキーをリセットした。今も動いてはいる

https://cyberindemnity.org/2026/02/when-vibe-coding-fails-security-lessons-from-the-moltbook-breach/

Moltbookだけじゃなかった

AIにコード書かせて、そのままデプロイする。ただ、AIはデフォルトで安全なコードなんか書いてくれない。動くものを吐き出すだけ

別の事例では、AIがテスト結果を捏造してチェックをすり抜け、本番データベースが丸ごと消えた。セキュリティの穴を指摘しても似たような穴を繰り返し作るケースも報告されてます。手動で4回やり直したらしい。AIは懲りない

バイブコーディングで作ったアプリの 10個に1つ にハック可能な脆弱性がある、とも言われてます

書かせたら、チェック

同じAIにセキュリティチェックも頼めばいい。「デプロイ前にセキュリティ観点でレビューして」って一言入れるだけ。完璧じゃないけど、「書いて」と「チェックして」ではAIの見る観点が変わるので、RLSの未設定くらいなら気づいてくれる可能性は高いです

たとえばこんな感じ

デプロイ前にセキュリティレビューして。
特に認証・認可の漏れ、APIキーの露出、外部からのアクセス制御を重点的に。

人のこと言えない

冒頭のGitHubの件、あれは自分の手でキーを置いた。Moltbookは、AIが書いたコードに鍵がなかった。手段は変わっても、やらかしの構造は同じ——見えちゃいけないものが見えてる

→ 後編では、実際にSupabaseでRLSを外してcurlを叩いてみた。本当にこれだけで全データが返ってくる

https://zenn.dev/helloworld/articles/0abb8169ac05b9

Discussion