vibe codingの失敗事例 2025年9月4日

【決済事件】AI生成コードで$2M(3億円)の不正決済

決済システムは、ソフトウェアの中でも最も慎重に構築すべき領域です。 金銭が直接関わるため、セキュリティ上の欠陥は即座に金銭的損失につながります。PCI DSS(Payment Card Industry Data Security Standard)という厳格な規格が存在するのも、そのためです。

川西智也

合同会社ロイヤルピース 代表

$2M 不正決済事件

決済システムとvibe coding

決済システムは、ソフトウェアの中でも最も慎重に構築すべき領域です。

金銭が直接関わるため、セキュリティ上の欠陥は即座に金銭的損失につながります。PCI DSS(Payment Card Industry Data Security Standard)という厳格な規格が存在するのも、そのためです。

しかし2025年3月、vibe codingで構築された決済ゲートウェイが、その危険性を証明することになります。

$2M(約3億円) の不正取引が承認されたのです。


AIがコピーした「安全でないパターン」

この事件の根本原因は、AIのトレーニングデータにありました。

AIは、インターネット上の膨大なコードベースから学習しています。その中には、セキュリティ上問題のあるコードも含まれています。

問題のパターン:

  • 入力バリデーションの欠如
  • SQLインジェクション対策の不備
  • 金額チェックのロジック不足
  • トランザクション検証の省略

AIは、これらの「安全でないパターン」をトレーニングデータからコピーし、決済ゲートウェイに組み込んでしまったのです。


AI生成コード:人間なら発見できた脆弱性

この事件で重要なのは、人間の開発者なら発見できたはずの脆弱性 だったということです。

決済システムの開発経験がある開発者なら、以下のことを当然のように確認します。

決済システムの基本チェック:

  1. 金額が負の値になっていないか
  2. 通貨コードが正しいか
  3. 重複トランザクションを検出できるか
  4. 承認限度額を超えていないか
  5. 不正パターンとマッチしていないか

しかし、vibe codingでは、これらのチェックが「頼まれていなかった」ため、実装されませんでした。


$2Mの被害

不正取引の手口は、単純でした。

攻撃の流れ:

  1. 入力バリデーションの脆弱性を発見
  2. 通常では拒否されるはずの取引を送信
  3. システムが承認
  4. 資金が流出

被害総額は $2M(約3億円) に達しました。

この金額は、vibe codingで「節約」できた開発コストをはるかに上回るものでした。


サイバー保険への影響

この事件は、保険業界にも影響を与えました。

サイバー保険会社の対応:

  • AI生成コードベースに対するポリシーの見直し
  • 追加の開示要件の導入
  • 保険料の調整
  • 一部ケースでの補償拒否

サイバー保険会社は、「vibe codingで作られたシステムは、従来のシステムよりもリスクが高い」と判断し始めたのです。


金融規制との衝突

決済システムには、厳格な規制が存在します。

主な規制:

規制内容
PCI DSSクレジットカード情報の保護基準
SOX財務報告の正確性確保
GDPR個人データの保護(EU)
各国金融法送金・決済の規制

vibe codingで生成されたコードが、これらの規制に準拠しているかどうかを確認することは、極めて困難です。

なぜなら、コードを理解していないと、コンプライアンスも確認できない からです。


監査の困難さ

この事件後、当該企業は外部監査を受けることになりました。

しかし、監査には大きな困難が伴いました。

監査の問題:

  • コードの意図が不明
  • なぜそのロジックになっているか説明できない
  • 変更履歴はあるが、理由が不明
  • 「AIが生成した」としか言えない

vibe codingで生成されたコードは、監査可能性(Auditability) の観点で深刻な問題を抱えています。


決済システムに必要なもの

この事件は、決済システムに何が必要かを改めて示しました。

決済システムの要件:

  1. 多層防御(Defense in Depth)

    • 一つの防御が破られても他で止める
  2. 入力バリデーション

    • すべての入力を検証する
  3. トランザクション監視

    • 異常パターンをリアルタイムで検出
  4. 監査ログ

    • すべての操作を記録する
  5. コードレビュー

    • 人間の目によるセキュリティ確認
  6. ペネトレーションテスト

    • 攻撃者視点での脆弱性検証

vibe codingは、これらの要件を満たすのに適していません。


vibe codingの「コスト削減」の代償

vibe codingを選んだ理由は、おそらく「コスト削減」でした。

短期的な計算:

  • 開発者の人件費を削減
  • 開発期間を短縮
  • 早期リリースで競争優位

実際の結果:

  • $2Mの直接損失
  • 法的費用
  • 規制当局への対応コスト
  • 信頼回復のためのコスト
  • 保険料の上昇

短期的な「節約」が、長期的な「大損失」を招いた 典型例です。


この事例から学ぶべき教訓

$2M不正決済事件から学ぶべきことは以下の通りです。

  1. 決済システムにvibe codingは使うな

    • 金銭が直接関わるシステムは例外なく
  2. AIはトレーニングデータの脆弱性をコピーする

    • 「安全でないパターン」も学習している
  3. 人間のレビューは省略できない

    • 特にセキュリティクリティカルな領域では
  4. 規制コンプライアンスには「理解」が必要

    • vibe codingでは監査に対応できない
  5. 短期的なコスト削減は長期的な損失につながる

    • 特にセキュリティ侵害の場合

まとめ:重要ポイントの振り返り

  • vibe codingで構築された決済ゲートウェイで$2M(約3億円)の不正取引
  • AIがトレーニングデータから安全でないパターンをコピー
  • 入力バリデーション不足が根本原因
  • サイバー保険会社がAI生成コードへのポリシーを見直し
  • 規制コンプライアンスと監査可能性の問題が露呈
  • 教訓:決済システムにvibe codingは使うな

参考リンク・出典

実践的なスキルを習得しませんか?

ブログで学んだ知識を、研修で実践に変えましょう。