安全なAI生成コード

AI生成コードを安全に保護する方法 CI/CD

開発者たちはかつてないほどの速さで新機能をリリースしていますが、同時に、現在のツールでは対応できないほどのペースでセキュリティ上の脆弱性を生み出しています。

AIコーディングツールは開発を加速させるだけでなく、安全でないコードの導入も加速させる。 ジョージア工科大学バイブセキュリティレーダープロジェクト 2026年3月だけで、AIコーディングツールに直接起因する新たなCVEが35件記録され、1月の6件から大幅に増加した。研究者らは、より広範なオープンソースのエコシステム全体では、実際の件数は5~10倍に上ると推定している。 CSA研究 最新の基盤モデルを使用した場合でも、AIが生成したコードの62%に設計上の欠陥や既知の脆弱性が含まれていることが判明した。

これは、開発者に開発速度を落とすよう求めることで解決できる問題ではありません。解決策は、AI開発のスピードに追いつくセキュリティインフラを構築することですが、ほとんどのチームはまだそれを実現できていません。

多くのチームが手遅れになるまで気づかないギャップ

AIコーディングツールは、従来のアプリケーションセキュリティインフラストラクチャでは想定されていなかった特有のセキュリティ問題を引き起こします。それは、人間が書いたコードとは体系的に異なる障害パターンを持つ、高速かつ大量のコードです。

ほとんどのチームは、スキャナーが検出できたはずの CVE が本番環境に導入されたとき、あるいは秘密の脆弱性が発見されたときに、このギャップを間違った方法で発見します。 commitAI支援ワークフローによって作成されたファイルが攻撃者の手に渡る。

AI固有の制御なし Xygeniと共に
コードの脆弱性 高密度、系統的な故障パターン IDEで書き込み時に捕捉された commit
秘密暴露 AI支援による2倍の高率 commits 全レイヤーにわたる継続的なスキャンと自動失効
悪意のある依存関係 AIは安全チェックなしでパッケージを提案します マルウェア検出は公開時に行われ、インストール時には行われない。
Pipeline リスク エージェントツールの動作が見えない 行動ベースライン+異常検知
結果 証券債務はAI並みのスピードで蓄積される 開発速度に合わせて拡張可能なカバレッジ

AI生成コードが特定のパターンで失敗する理由

制御方法について説明する前に、AIが生成したコードが人間が書いたコードとは異なる形で失敗する理由を理解しておくことが重要です。なぜなら、失敗のモードによって、実際にどの制御方法が重要になるかが決まるからです。

セキュリティ推論に対するパターン補完

LLM(論理レベルモデル)は、学習データで確認されたパターンの統計的に可能性の高い継続を予測することでコードを生成します。学習データに数百万もの安全でないコードの例が含まれている場合、モデルはそれらのパターンを自信を持って流暢に再現します。

このモデルはセキュリティについて推論しているわけではありません。パターンを補完しているだけです。「このエンドポイントに認証を追加する」というリクエストに対しては、認証のように見えるコードが生成され、多くの場合、認証と同様の機能を発揮しますが、トークンの有効期限切れを省略したり、認可チェックを怠ったり、非推奨の暗号プリミティブを使用したりする可能性があります。これは、これらの省略がトレーニングデータにおいて統計的に頻繁に発生するためです。

意味的な安全性を伴わない構造的正しさ

セキュリティ企業Tenzaiが2025年12月に実施した分析では、5つの主要なAIコーディングツールを使用して構築された15の運用アプリケーションを調査した結果、サンプル全体で69の脆弱性が発見された。すべてのアプリケーションにCSRF対策が施されておらず、セキュリティヘッダーも設定されていなかった。また、すべてのツールでサーバーサイドリクエストフォージェリ(SSRF)の脆弱性が引き起こされており、15のアプリケーションすべてにおいて基本的なセキュリティ上の欠陥が一掃された形となった。

これらは例外的なケースではありません。AIツールが最適化する対象、つまり安全なデフォルト設定ではなく、動作するコードに根本的な欠陥があることを示しています。

ジョージタウン大学CSETは、主要な5つのLLM(法学修士課程)でテストされたAI生成コードサンプルの86%にXSS脆弱性を発見した。

秘密暴露の加速

AI支援 commit秘密を暴露する速度は人間だけの場合の2倍以上 commitだ。ザ CSAによるvibコーディングセキュリティに関する調査ノート AI支援による数字は3.2%です commits 対 人間のみの場合 1.5%、パブリック GitHub では 2025 年にハードコードされた認証情報が前年比 34% 増加しました。

その仕組みは単純明快だ。AI開発のスピードで作業する開発者は、コンテキストとして認証情報をプロンプトに貼り付けることが多く、AIツールはそれらの認証情報を生成出力に忠実に含める。高速でAIコードをレビューする開発者は、機能的な正しさを確認するだけで、機密情報の漏洩はチェックしない。

目に見えない建築上の欠陥

従来のセキュリティツールは、静的コードにおける既知の脆弱性パターン(SQLインジェクション、XSS、安全でない逆シリアル化など)の検出に優れています。しかし、設計レベルの欠陥、APIルート全体における認証の欠如、不完全なアクセス制御ロジック、順序通りの処理を前提としているものの順不同で回避可能な認可モデルなどには対応が困難です。

AIが生成するコードは、AIツールがシステムレベルではなく機能レベルでコードを生成するため、設計上の欠陥が多く発生する。AIは、明示的にそのコンテキストが与えられない限り、周囲のシステムのセキュリティモデルを認識できない。そして、ほとんどの開発者は、そのコンテキストを提供することを考えない。

AI生成コードを安全に保護する方法 CI/CD Pipeline

1. AI生成コードを信頼できない入力として扱う SAST 層

最も重要な業務変更点:削減しないこと SAST コードがAIによって生成されたため、カバレッジが向上した。その逆を行うべきだ。AIを積極的に導入しているチームは、発見される問題の量が大幅に増加することを想定し、それに応じてツールを設定する必要がある。

実際には、これは SAST すべてに commitPRだけでなく、AIツールはコードを高速に生成し、開発者は commit 段階的に。PRレビューを待つということは、誰かがそれらを見る前に発見事項が蓄積されることを意味します。また、調整も必要です。 SAST AIコードの障害モードに特化した深刻度しきい値:認証および認可チェックの欠如、SSRF、CSRF、安全でない逆シリアル化、ハードコードされた認証情報、CVSSで常に重大なスコアになるとは限らないが、常に悪用可能な脆弱性クラス。

中心的な課題は偽陽性率です。AIツールは大量のコードを迅速に生成しますが、偽陽性率が高いと SAST あまりにも多くの検出結果が生成されるため、開発者はそれらを無視するようになる。これがアラート疲労という現象であり、スキャンを行う目的を完全に損なう。

ザイゲニ SAST ベンチマークは OWASPベンチマーク そして、16.7%の偽陽性率で100%の真陽性率を達成しました。AI生成コードが検出量を増加させる環境では、cisイオンこそが、発見を無視されるのではなく、行動に移せるようにするものだ。 Xygeniについてもっと詳しく知りたい方はこちら SAST →

2. 秘密情報を継続的にスキャンする(特定の時だけでなく) commit 時間

Pre-commit hooks これらは必要ではあるが十分ではない。AIツールを高速で使用する開発者は、しばしばこれらを迂回する。 hooksそれらをサポートしていないウェブベースのAIエディタを使用するか、アプリケーションコードではなくCIスクリプト内でシークレットを生成する。 hooks 決して作動しない。

AI支援開発ニーズに対応する完全な機密情報セキュリティ体制 pre-commit hooks ローカルAIツールを使用する開発者向けに、完全な履歴を含むすべてのブランチにわたるリポジトリの継続的なスキャン commit カバレッジ(古いものからの有効な秘密) commit(依然として悪用可能) pipeline ログのスキャン(AIが生成するCIスクリプトには、ビルドログに出力される補間変数として認証情報が含まれることが多い)と、検出時の自動失効は重要です。なぜなら、情報漏洩から攻撃者の発見までの期間は、数日ではなく数時間単位であることが多いからです。

Xygeni Secrets Security リポジトリ全体で800種類以上の秘密鍵を検出します。 pipeline ログ、 IaC ファイル、およびコンテナイメージ。 --history スキャンモードでは、技術的には古いものの依然として有効なシークレットが露呈します。これは、AI支援ワークフローにおける一般的な問題点です。シークレットはログに記録される前、またはプラットフォームに送信される前に難読化されるため、検出プロセス自体によって新たな情報漏洩が発生することはありません。検出時には、自動失効ワークフローが作動します。 詳しくはこちらをご覧ください→

3。 適用する SCA マルウェア検出からAIが提案する依存関係まで

AIコーディングツールは、単にコードを書くだけでなく、依存関係も提案します。開発者がアシスタントに「JWT解析用のライブラリを追加して」と依頼すると、パッケージの推奨が表示されますが、それは正規のパッケージである場合もあれば、名前が似ているために不正に取得されたパッケージである場合、あるいはモデルのトレーニング時には正規のパッケージだったものの、その後改ざんされたパッケージである場合もあります。

その CSA 2025 AI生成コードの脆弱性に関する研究 また、「スロップスクワッティング」と呼ばれる行為についても記述している。これは、攻撃者がAIツールが作り出した架空のパッケージ名を登録し、モデルの架空の存在を直接サプライチェーン攻撃のベクターに変える行為である。 Standard CVEベース SCA これらのどれも捕捉しない。

実際に必要なのは、疑わしいインストールスクリプト、予期しないネットワーク呼び出し、または難読化されたコードを含むパッケージを検出する動作型マルウェア検出、完全な依存関係グラフを分析して偽名パッケージを検出するタイポスクワッティングおよびスロップスクワッティング検出、そして実際に呼び出される脆弱な関数とインポートされたものの実行されない脆弱な関数を区別する到達可能性フィルタリングCVEスキャンです。

ザイゲニ SCA リアルタイムマルウェア検出を組み合わせる マルウェア早期警戒システム(MEW) エンジンは、インストール時だけでなく公開時にもnpm、PyPI、Maven、NuGet、RubyGemsなどのレジストリをスキャンし、 疑わしい依存関係スキャナー 完全な依存関係グラフを分析することで、タイポスクワッティング、依存関係の混乱、および疑わしいインストールスクリプトを検出します。 仕組みを見る →

4. セキュリティ対策を実施する guardrails に選出しました。 pipelineコードレビューに限らず

コードレビューは時間がかかり、一貫性も欠如しているため、AI生成コードの主要なセキュリティ対策としては不向きである。開発速度のプレッシャーの中でAI出力をレビューする開発者は、まず機能的な正確性を確認する。セキュリティの正確性は、もし確認されるとしても、二の次となる。

Pipelineレベル guardrails 要件を自動的に強制する: 新たな重大な問題を引き起こすビルドをブロックする SAST 設定可能なしきい値を超える発見があった場合、新しい秘密が検出された場合は展開をブロックします。 commitマルウェアチェックに失敗したパッケージや正確なダイジェストに固定されていないパッケージをブロックすることで依存関係ポリシーを強制し、 SBOM AI支援コードを含むリリース向けの生成。

主要な設計原則: guardrails 単に報告するだけでなく、ブロックまたは警告を発するべきです。何もブロックしない検出結果は、開発者に検出結果を無視しても安全だと誤解させてしまいます。

Xygeni DevAI エージェントセキュリティコパイロットは、 VSコード拡張機能 (NAIST) と IntelliJ/JetBrainsプラグイン 段階的に実行される SAST 開発者がコードを書いている間にスキャンし、検出された脆弱性の悪用パスを説明し、リスク、ポリシー、破壊的変更の影響について Xygeni MCP サーバーによって検証された修正案を提供します。シークレット検出、 SCA, IaC スキャンはすべて同じIDEセッション内で実行されます。 詳しくはこちらをご覧ください→

6. AIコーディングツールの異常な動作を監視する

AI エージェントツール、つまり環境内で提案を生成するだけでなく自律的に行​​動するツールは、新たな脅威領域をもたらします。リポジトリへの書き込みアクセス権を持つエージェントコーディングツールは、 pipeline トリガーへのアクセス、または機密情報へのアクセスは、侵害された場合、非常に価値の高い標的となる。

CVE-2025-54135(CurXecute)は、Cursor AIコードエディタのリモートコード実行の脆弱性であり、ユーザーの操作なしに開発者のマシン上で任意のコードを実行できるもので、2026年初頭に公開された。 ジョージア工科大学の雰囲気とセキュリティレーダー 研究によると、AIツールがより自律的になるにつれて、攻撃対象領域は急速に拡大しているという。

AIツールのアクティビティの行動監視 pipeline 予期せぬ変化に注意する必要があります CI/CD ワークフロー構成ファイル(侵害されたAIツールまたは即時インジェクション攻撃の最も明確な兆候の1つ)、ビルド中に予期しない宛先にネットワーク要求を行うAIコーディングツールプロセス、開発者ワークステーションからのシークレットストアへの異常なアクセスパターン、および以前のビルドには存在しなかったAIツールによって導入された新しい依存関係。

管理 優先
CPコード SAST すべてに commit低FPR構成 クリティカル
CPコード VS Code / IntelliJ における IDE セキュリティに関するフィードバック ハイ
シークレット Pre-commit hooks + リポジトリの継続的なスキャン クリティカル
シークレット 有効なレガシーシークレットを検出するためにGit履歴をスキャンしています。 クリティカル
シークレット 検出時の自動取り消し クリティカル
依存関係 SCA マルウェア検出機能と不法占拠検出機能付き クリティカル
依存関係 到達可能性フィルタリングによるCVEの優先順位付け ハイ
Pipeline 新たな重要な発見に基づいて構成要素を構築する ハイ
Pipeline ビルド時の依存関係ポリシーの適用 ハイ
Pipeline SBOM AI支援リリース用の生成 技法
エージェントツール AIツールの活動の行動監視 ハイ
エージェントツール AIコーディングツールへの最小権限アクセス ハイ

XygeniがAI生成コードのエンドツーエンドのセキュリティをどのように確保しているか

AI生成コードのセキュリティを確保するには、あらゆる側面を網羅する必要があります。 SDLC開発者が提案を受け入れた瞬間から、成果物が本番環境に届く瞬間まで。1つのレイヤーしかカバーしないポイントツールでは、AIによる高速開発で確実に見つけられるギャップが残ります。

ステージ Xygeniの機能 何を捕まえるか
IDEでは DevAI + MCPサーバー 書き込み時の脆弱性、 commit
At commit SAST + シークレットセキュリティ コードの欠陥、ハードコードされた認証情報、公開されたAPIキー
ビルド時 SCA マルウェア検出機能と接続性を備えています 悪意のある、または脆弱なAIが提案する依存関係
In pipeline CI/CD セキュリティ+異常検知 安全でないビルド、エージェントツールの侵害、注入されたワークフロー
展開後 DAST + ASPM 実行時における悪用可能性の検証、統一されたリスク姿勢

重要な差別化要因は、これらすべてを接続するインテリジェンス レイヤーです。Xygeni の MCP サーバーは、DevAI が IDE で生成する修正提案が、開発者に届く前に、ポリシー準拠、破壊的変更リスク、および組織コンテキストについて評価されることを保証します。AI 支援による修復と guardrails安全装置を解除した状態ではダメです。

最終的な考え

AIコーディングツールは、 enterprise コードだけでなく、最も重要なパターン、つまり認証の欠如、機密情報の漏洩、安全でない依存関係、静的スキャナーでは見逃される設計上の欠陥などにおいて、体系的にセキュリティ脆弱性を導入しているのです。

答えはAIツールの使用を制限することではない。 build security AI開発のスピードに合わせて拡張可能なインフラストラクチャ。これを正しく理解しているチームは、AIコードを人間が書いたコードのように扱い、バグ発生率がやや高くなるチームよりも、AI支援機能をより迅速かつ安全にリリースできる。

そうではありません。そしてあなたの pipeline 違いを知る必要がある。

👉 無料トライアルを開始する クレジットカード不要で、AIを活用した最初のリポジトリを数分でスキャンできます。

👉 デモを予約する そして、Xygeniがお客様の特定のAI開発スタックにどのように適合するかを確認してください。

👉 ホワイトペーパーをダウンロードする組織にとって最大のAIリスクとなる前に、Vibeコーディングを安全にしましょう。

関連する読書:

著者について

共同創業者兼CTO

ファティマ Said AppSec、DevSecOps、および software supply chain security彼女は複雑なセキュリティシグナルを明確で実行可能なガイダンスに変換し、チームがより迅速に優先順位付けを行い、ノイズを減らし、より安全なコードを出荷できるよう支援します。

sca-tools-ソフトウェア構成分析ツール
ソフトウェアのリスクを優先順位付けし、修復し、保護する
無料アカウントを作成しましょう。
いいえ、クレジットカードは必要ありません。

ソフトウェア開発と納品を安全に

Xygeni製品スイートと共に