By GetFreeチーム·2026年2月19日·5分で読める
The Moltbook Breach: Vibe Codingがセキュリティの悪夢になるとき
Moltbookで実際に何が起きたのか?
何が間違っていたのか正確に説明します。詳細が重要だからです。
MoltbookはSupabaseを使用して構築されました — 認証、データベース、ストレージを最小限の設定で処理する、人気のオープンソースFirebase代替であるホスト型PostgreSQLデータベースです。Supabaseは、設定を最小限に抑えながら認証、データベース、ストレージを処理するため、vibeコーディングアプリのバックエンドとして選ばれるようになりました。
問題は?誰か(またはAI)がSupabase APIキーをクライアントサイドのJavaScriptコードに直接配置していました。これは根本的なセキュリティミスです。APIキーはサーバーに属し、ユーザーのブラウザで実行されるコードに含まれるべきではありません。
しかし、状況はさらに悪化します。
そのAPIキーはデータベース全体への読み取りおよび書き込みアクセスを持っていました。そしてMoltbookはRow Level Security(RLS)を有効にしていませんでした — 誰が何のデータにアクセスできるかを制御するSupabaseの機能。RLSはシートベルトと同じくらいオプションです。必要ないと思うかもしれませんが、クラッシュするまで気づきません。
セキュリティ研究者のWizが、Webサイトを確認してから数分で露出したキーを発見しました。彼らは以下のことができたでしょう:
- OpenAI、Anthropic、その他のAIプロバイダーを含む150万のAPIキーをダウンロード済み
- AIエージェント間のプライベートメッセージにアクセス
- データベースのデータを変更または削除
- いかなるユーザーアカウントも乗っ取り
- 盗まれたAPIキーを使って大量の請求書を発生させる
皮肉なことに、創業者はプラットフォーム全体を「完全にvibeコーディング」したと認めました。コードレビューなし。セキュリティ監査なし。AIへのプロンプトと結果のコピペだけでした。
なぜこれが繰り返し起こるのか
この物語が唯一無二でないのは苛立たしいことです。
DeepSeekがAPIキーを露出した時を覚えていますか?あるいはBase44?このパターンは繰り返されます。なぜなら、vibe codingの哲学はこれらの侵害を防ぐための実践を積極的に discourage しているからです。
ヴァイブコーディングの基本的な哲学は:高速で動く、結果に集中する、詳細にこだわらない。プロトタイプを構築するには実際に機能するため、魅力的です。数時間で動作するアプリを立ち上げることができます。
しかし、本番アプリは別の世界に存在します。本物のユーザーデータ、本物の支払い、本物のセキュリティ脅威を扱います。週末でプロトタイプを出荷するのと同じマインドセットが、本番アプリを1日目にハックされる原因になります。
AI生成コードの専門家のセキュリティリサーチャーに話を聞きました。彼が夜も眠れない理由は次のとおりです:
- 何が起きているかを理解していない:「ログインシステムを構築して」とAIにプロンプトすると、ログインシステムのように見えるが、専門家でないと見つけられない微妙な欠陥があるコードが得られる
- AIを信頼すること: ユーザーは、AIが生成したコードがセキュリティで保護されていると想定します。なぜなら…それがAIだからです?この想定は完全に間違っています。
- 基本機能の欠如: ベイブコーダーはセキュリティについて知らないことを知らないことが多い
45%の問題
あなたを夜も眠れなくさせるべき数字を教えましょう: 45%。
That's the percentage of AI-generated code that contains security vulnerabilities, according to Veracode's research on AI-generated software security[1].
これは悪いAIモデルや無能な開発者の問題ではない。コード生成の根本的な性質の問題である。AIモデルは既存のコードで学習しており、その中には不安全なコードも含まれている。モデルは見たパターンを再現するため、脆弱なコードも再現してしまう。
AI生成コードの一般的な脆弱性には:
| 脆弱性 | それが意味すること | 実際の影響 |
|---|
| SQL Injection | 攻撃者が悪意のあるデータベースコマンドを実行できる | 完全なデータベースの乗っ取り |
|---|---|---|
| XSS(クロスサイトスクリプティング) | 攻撃者が悪意のあるスクリプトを注入できる | セッションハイジャック、データ盗難 |
| ハードコードされたシークレット | APIキー、パスワードがコード内に | Account takeovers, bill padding |
| 入力バリデーションの欠如 | ユーザー入力の確認なし | インジェクション攻撃、クラッシュ |
| 不安全な認証 | ログイン実装が弱い | 不正アクセス |
Moltbookの侵害は実際には2つの問題でした:ハードコードされたAPIキー(ハードコードされたシークレット)とRLSの欠如(不安全な設定)。どちらか一方だけでも悪かったでしょう。両方が組み合わさって、災害を引き起こしました。
Vibe Codingについて誰も教えてくれないこと
正直に言います。vibe coding を数多くしてきました。本当にものづくりの方法を変えました。しかし、厳しい教訓も学びました。
セキュリティを理解する必要があります
不快な真実:セキュリティを自分で理解していない場合、AIツールを使ってセキュアなアプリを構築することはできません。AIはあなたの脅威モデルを知りません。保護している資産を知りません。ただ合理的に見えるコードを生成するだけです。
セキュリティの専門家になる必要はありません。しかし、理解する必要があります:
- クライアントサイドのコードにシークレットを置かないでください
- データベースで行レベルセキュリティを常に有効にする
- 機密設定には環境変数を使用してください
- 適切な入力バリデーションを実装する
- 生成されたコードにセキュリティスキャンを実行
素早くプロトタイプを作成し、その後エンジニアリング
My current workflow:
- プロトタイプをVibe codingする — 何か動くものを作り、リアルユーザーでアイデアを検証する
- プロダクトマーケットフィットの特定 — 何にも投資する前に
- 本番環境向けにリファクタリング — ここで実際にセキュリティ、パフォーマンス、保守性をエンジニアリングします
ミスとは、リファクタリングステップなしに、雰囲気を重視したプロトタイプをそのまま本番環境にリリースすることです。時間を節約しているのではなく、後でコストがかかる技術的負債を蓄積しているのです。
仕事に合ったツールを使い分けよう
これは物議を醸すかもしれませんが、vibe codingは以下の用途には適切ではないと思います:
- 機密ユーザーデータ(医療、金融)を扱うアプリケーション
- 決済を処理するシステム
- 規制コンプライアンス要件があるもの
- セキュリティ障害が実際の被害を引き起こす可能性のあるアプリケーション
社内ツール、MVP、プロトタイプの場合は自由にやってください。本番システムで実際のユーザーデータを扱う場合は、適切にエンジニアリングしてください。
自分を守る方法
ヴェイブコーディングをしているなら(そして、しているべきです — とても強力ですが)、次の見出しにならないために:
Supabase/バックエンド向け
javascript// WRONG - Never do this const supabase = createClient('https://xxx.supabase.co', 'YOUR_ANON_KEY_HERE') // Your service_role key is also exposed here! // CORRECT - Use environment variables, server-side only const supabase = createClient( process.env.SUPABASE_URL, process.env.SUPABASE_ANON_KEY )
必須セキュリティチェックリスト
- [ ] すべてのデータベーステーブルに行レベルセキュリティを有効にする
- [ ] APIキーを環境変数に保存し、コード内に絶対に置かない
- [ ] 生成されたコードに対してセキュリティスキャンを実行する(Snyk、CodeQL、またはGitHub Advanced Security)
- [ ] service_roleキーをクライアントに絶対に露出させない
- [ ] すべてのユーザー入力に対して適切な入力バリデーションを実装する
- [ ] 悪用を防ぐためのレート制限を設定
- [ ] 本番ユーザーを迎える前にペネトレーションテストを受ける
役立つツール
| ツール | 機能概要 | 無料プラン |
|---|
| Snyk | コードのセキュリティスキャン | はい |
|---|---|---|
| GitHub Advanced Security | 脆弱性検出 | はい(リポジトリの場合) |
| StackHawk | APIセキュリティテスト | はい |
| Dependabot | 依存関係の脆弱性 | はい |
業界への影響
私は正直に、私たちがどこに向かっているのかが心配です。
私たちはソフトウェアの構築方法における巨大な変化の真っ只中にいます。ノンテクニカルな創業者が今や洗練されたアプリケーションを作成できます。参入障壁が崩壊しました。それは本当にわくわくするものです。
しかし、誰も見ていないストアを持つ世代も作りつつあります。
ここに私が実現すべきだと考えることがあります:
- AIコーディングツールはより良いセキュリティデフォルトが必要 — 脆弱性を組み込んだコードを生成するのをやめろ
- コミュニティはこれについてもっと語るべき — ヴァイブコーディングに関するすべてのブログ投稿でセキュリティに言及すべきです
- より良いツールが必要 — 自動セキュリティスキャンはすべてのAIコーディングワークフローに組み込むべき
- 創業者が責任を取る必要がある — 何かがうまくいかないときにAIのせいにすることはできません
ソフトウェア開発の未来は、AIの速度とセキュリティの選択ではありません。両方を一緒に使う方法を学ぶことです。
よくある質問
AIツールはセキュリティ問題を修正できないのか?
改善は可能であり、実際に改善されている。しかし、AIモデルは既存のコードで学習しており、その中には不安全なコードも含まれている。本質的に、人間のソフトウェア全体のコーパスから悪い習慣を学んでいる。セキュアなコードで特別に学習されたモデルも登場し始めているが、まだそこまで到達していない。
AIツールはセキュリティ問題を修正できないのか?
Supabaseは適切に設定されていれば問題ありません。問題はSupabaseではなく、Moltbookの設定(または設定不足)でした。Supabaseには優れたセキュリティ機能(Row Level Securityなど)があります。問題は、vibe codingがそれらの機能をスキップすることにつながったことでした。
Supabaseはセキュリティではないのですか?
絶対にありません。これは構築および反復を行うための非常に強力な方法です。ただし、「vibeコーディングされた」ということは、セキュリティ障害の言い訳にはならないことを理解してください。プロトタイプは素早く作成し、アイデアを検証し、本番環境向けにエンジニアリングしてください。
ヴァイブコーディングをやめるべきか?
セキュリティ重視のプラクティスによる従来の開発。または:AIが生成したコードを自分で確認するのに十分な知識を学ぶ。または:ローンチ前にセキュリティ監査を依頼する。または:強力なセキュリティデフォルトが組み込まれたツールとフレームワークを使用する。
ヴァイブコーディングの代替手段は?
総評
Moltbookは異常ではありません。これはこれから来るもののプレビューです。
セキュリティの基本を理解せずにvibe-codedアプリケーションを出荷する創業者が増えるにつれて、より多くの侵害が発生するでしょう。より多くの漏洩したAPIキー。より多くの露出したデータベース。より多くの被害者。
これはvibe codingに対する議論ではありません。その制限について正直であることが議論です。
素早く出荷し、アイデアをテストし、迅速に動きましょう。しかし、実際のユーザーデータをリスクにさらす前に、一歩引いてセキュリティの作業を行ってください。ユーザーはあなたに情報を預けています。その信頼は、雰囲気だけで軽視してはいけません。
関連投稿
- Vibe Codingとは?2026年完全ガイド
- Cursor vs WindsurfでVibe Coding:2026年にどちらが勝つ?
- 7日でAIアプリを構築する方法(ステップバイステップ)
- 100人のベータユーザーを素早く獲得する方法
アプリを安全にリリースする準備はできていますか? プロモーションコードやベータアクセスを数千人のターゲットテスターと共有する開発者のためのキュレーションされたディレクトリ GetFree にアプリを掲載してください。
出典
元記事はGetFree.APPブログに掲載 — 最終更新日:2026年2月17日
素晴らしいアプリを発見する準備はできましたか?
GetFree.APPで最高の無料iOSアプリを見つけて共有