バイブコーディングのセキュリティチェックリストと対応策 ― 25項目で守るAI生成コードの安全運用

GitHub Copilot、Cursor、Claude Code、Devin、Replit Agent ―― 自然言語で指示すればAIがコードを書く時代が当たり前になりました。Andrej Karpathyが2025年初頭に「Vibe Coding(バイブコーディング)」と呼んだこのスタイルは、エンジニア以外のビジネス職にも一気に浸透しています。

一方で、現場では情シスの目の届かないところで生成コードがそのまま本番投入され、シークレット流出・脆弱な依存関係・ライセンス違反といった事故が増え始めています。リスクの全体像は別記事のVibe Codingのセキュリティリスクガイドで扱っていますが、本記事では「では、何を確認し、どう運用すれば安全に使えるのか」を25項目のチェックリストで具体的に示します。

チェックリストの使い方

下記4フェーズに分けて25項目を定義しました。

  • 生成前ガバナンス:誰が、何のツールを、どんな条件で使うか
  • 生成中の運用:プロンプトとAIへの入力管理
  • 公開・コミット時:レビュー、シークレット、依存関係
  • 運用後:脆弱性対応、ライセンス、廃止管理

各項目に「□」を付け、自社の対応状況を可視化してください。半数以上が未対応なら、利用ルールの抜本的見直しが必要です。

A. 生成前ガバナンス(6項目)

□ 1. 利用許可ツールのホワイトリストを定義している

GitHub Copilot、Cursor、Claude Code、ChatGPT、Geminiなど、社内で使ってよいAIコーディングツールを明示します。「列挙されていないツールは禁止」とすることでシャドーITを抑止します。Cursorのように内部で複数のモデルAPIを呼び出すツールは、接続先モデルとデータの送信先まで把握すること。

□ 2. 個人アカウント禁止・組織アカウント必須を明文化している

Copilotは個人プランと組織プラン(Copilot Business / Enterprise)でデータ取り扱いが異なります。ChatGPTもFreeとTeam/Enterpriseで学習利用の有無が違います。業務利用は必ず組織契約を要件にしてください。

□ 3. 学習利用オプトアウトを設定している

OpenAI、Anthropic、Googleの各サービスは、組織プランでは原則学習に使われませんが、APIキーやプロジェクト単位の設定で再確認を。Gemini Code Assistの個人版は学習利用される設計のため、業務ではStandard/Enterpriseを選びます。

□ 4. 生成AI利用ポリシーを社内公開している

「機密情報を貼り付けない」「生成コードはレビュー必須」「ライセンス確認必須」など、最低5項目程度の明文化されたルールを情シス・法務監修で公開します。ITガバナンス3省2ガイドラインの観点でも、ポリシー有無は監査の論点になりつつあります。

□ 5. 利用者の役割と権限を分けている

「読み取り専用で使うビジネス職」「ローカルで動かすエンジニア」「本番に直接コミットできるリードエンジニア」では必要な統制が違います。最低でも読み取り/コード提案/自動マージの3層で権限を整理します。

□ 6. データ分類ポリシーがあり、AIに渡してよいデータが定義されている

社外秘・顧客個人情報・人事情報・財務未公開情報などはAIに貼らせない、と分類別に明文化します。Microsoft Purviewや機密ラベルを使ってシステム的に検知できればなお良いです。

B. 生成中の運用(6項目)

□ 7. プロンプトに本番環境の認証情報を貼らない運用が徹底されている

接続文字列、APIキー、サーバ証明書、社員個人情報を含む例示データを、生成AIのプロンプトに直接貼り付けない運用を徹底します。「テスト用のダミーに置換してから貼る」をルール化することがポイント。

□ 8. ローカル実行型ツールではテレメトリ送信先を確認している

CursorやClaude Code、Continue.devなどはローカル実行に見えても、プロンプト・コンテキストはクラウドに送られます。Enterprise契約では送信先データセンターと保管期間が明示されています。社外秘コードを扱う場合は確認必須。

□ 9. プロンプトインジェクション耐性を意識している

外部から取り込んだデータ(ウェブサイトの内容、PDF、メール本文)をAIに食わせて要約・コード化させる場合、そのデータ内に隠された指示でAIが意図しない動作をする可能性があります。エージェント系ツール(Devin、Cline、Auto-GPT系)では特に要注意。

□ 10. AIに「自由に外部APIを叩かせる」運用をしていない

Devin、Cursor Composer、Claude Code、Cline などのエージェントモードでは、AIが勝手にファイル削除・ネットワークリクエスト・パッケージインストールを行えます。本番認証情報のあるシェルでは絶対に動かさず、サンドボックスで実行します。

□ 11. 生成コードを直接本番DBに対して走らせていない

「このSQLを叩いて結果を貼って」と業務担当に依頼するのは、本番への破壊的操作(UPDATE / DELETE / TRUNCATE)に繋がる典型パターンです。読み取り専用レプリカや開発DBでのみ動かせるようにアクセス権を分離します。

□ 12. AIに渡すコードベースの範囲を最小化している

リポジトリ全体をコンテキストに渡すと、機密設定・コメント・テストデータまで送信されます。.gitignore に加えて .cursorignore / .copilotignore / .aiexclude を整備し、機密ディレクトリを除外します。

C. 公開・コミット時(7項目)

□ 13. 生成コードに対して必ず人間レビューを行っている

「AIが書いたから安全」は誤りです。Copilotは約4割の確率でセキュリティ上問題のあるコードを返すという研究もあります(NYU 2021)。Pull Requestのレビュー必須化(GitHubブランチ保護ルール)を徹底します。

□ 14. シークレットスキャンが有効化されている

GitHub Secret Scanning、GitLab Secret Detection、Trufflehog などで、APIキー・パスワード・接続文字列のコミットを検知します。AIは平気で「example.com/api-key=sk-…」のようなコードを書いてくるので必須。

□ 15. SAST(静的解析)でAI生成コードを検査している

SonarQube、Semgrep、CodeQL、Snyk Code などで、SQLインジェクション・XSS・パストラバーサル・安全でない暗号化を検出します。PR作成時の自動実行が望ましい。

□ 16. 依存関係(パッケージ)の脆弱性スキャンを行っている

npm audit、Dependabot、Renovate、Snyk、GitHub Advanced Security などで、AIが入れた古いパッケージや脆弱なバージョンを検知します。AIは学習データの時点で古いバージョンを提案しがち。

□ 17. ハルシネーション・パッケージ(slopsquatting)対策をしている

AIが「存在しないパッケージ名」を提案し、攻撃者がその名前で悪意あるパッケージを公開して仕込む手法です。pip install / npm install 前に実在するか・ダウンロード数・公開日を確認します。

□ 18. ライセンス検査ツールでコピーレフト混入を検知している

FOSSA、Licensee、ScanCode などで、生成コードにGPLなどコピーレフトコードの転載が混じっていないかを検査します。Copilot DuplicationフィルタやCursorのソースアトリビューション機能も併用。

□ 19. 商用コードの完全コピー検出をしている

GitHubのCopilot Duplication Detection、Sourcegraph Cody Code Smelling、社内コードベース類似度チェックなど。社外秘コードの紛れ込みやライセンス違反を防ぎます。

D. 運用後(6項目)

□ 20. AI生成コードの責任者・メンテナンス担当が明確である

「AIに書かせたから誰も中身を理解していない」状態は最大のリスクです。各リポジトリにCODEOWNERSを設定し、本番運用に乗ったコードは必ず人間の主担当を立てます。

□ 21. 一定期間で再レビュー・依存関係更新を行っている

四半期に一度、または半年に一度、AI生成コードの監査を実施します。脆弱性が後から見つかった依存関係、サポート切れになったパッケージを洗い出して更新します。

□ 22. AIが触った変更履歴を可視化している

コミットメッセージや PR ラベルで「AI-generated」「AI-assisted」を付けるルールにすれば、事故時の影響範囲特定が早くなります。GitHub の Co-authored-by を使う方法もあります。

□ 23. AI生成スクリプトの「使い捨て管理」を制度化している

「データを集計するだけのスクリプト」が何年も本番に残り続ける状態を避けます。用途終了時に廃棄するか、運用に乗せるなら正式リポジトリに移管するか、を選択するフローを定義します。

□ 24. インシデント対応プレイブックにAI起因事故を含めている

「AIに機密情報を貼り付けてしまった」「AIが生成したコードでデータ消失が発生した」は、現実に起きています。通報窓口・ログ保全・法務報告の手順をプレイブックに含めてください。

□ 25. 利用ログ・アクセスログを保管している

GitHub Copilot Business / Enterprise、ChatGPT Enterprise、Claude for Workなどは監査ログAPIを提供します。SIEMやログ集約基盤で最低90日の保管を行い、不正利用調査に備えます。

チェック結果の目安

達成数状態推奨アクション
22項目以上良好運用継続。半年ごとに再点検
17〜21項目部分的に穴あり未対応領域から優先対応
12〜16項目統制が追いついていないガバナンス整備プロジェクトを起動
11項目以下危険水域本番投入を停止し、利用ルール再構築

まとめ:禁止ではなく「制御して活かす」

バイブコーディングは生産性を大きく押し上げる一方で、従来の開発ガバナンスの前提を壊す側面があります。コードレビュー、シークレット管理、依存関係管理、ライセンス管理 ―― すべての運用が「AIが書く前提」で再設計を求められています。

「禁止」は短期的に最も簡単な対応ですが、現場は隠れて使い始めるため、シャドーITの温床になります。本記事のチェックリストを使い、許可制と統制で安全に活かす運用を整えてください。

情シス365のSecurity365では、生成AIガバナンスポリシー策定、Copilotガバナンス導入、シークレットスキャン基盤の構築まで対応しています。Vibe Codingに関するガバナンスを「これから整える」段階の企業様は、Start365で土台づくりからご支援可能です。

関連記事:

👉 情シス365 サービス詳細・お問い合わせ

🛡️Security365 — セキュリティ運用

脅威監視・アラート対応・ポリシー策定まで、月額定額でプロが支援。セキュリティ対策を「自分ごと」から「チーム体制」へ。

情シスのお悩み、ご相談ください

専門スタッフが貴社の課題に合わせたご提案をいたします。

メールでのお問い合わせはこちら →
60分無料相談