更新日:2025年11月20日
8分で読めます
AIによってコーディングスピードが変革される中、デベロッパーは新たなセキュリティ習慣を必要としています。DevSecOpsワークフロー全体でそれらを展開する方法をご紹介します。

AIは、現代のソフトウェア開発の中核を担う存在として急速に浸透しています。デベロッパーがこれまで以上に速くコーディングできるようになっただけでなく、テストケースの作成やドキュメントの要約といった低レベルのタスクも自動化されています。当社の2024年グローバルDevSecOps調査によると、デベロッパーの81%がすでにワークフローでAIを使用しているか、今後2年以内に使用する予定であると回答しています。
手作業によるコーディングが減るにつれ、微妙ながら重要な行動の変化が見られます。デベロッパーは、AIが生成したコードを十分に精査せずに信頼し始めているのです。理解できなくはないものの、この信頼感は、特にコード全体の量が増加する中で、静かにセキュリティリスクをもたらす可能性があります。デベロッパーがすべての脆弱性や攻撃手法を把握し続けることは期待できません。だからこそ、彼らとともにスケールするシステムと安全策が必要です。AIツールは確実に今後も使われ続けます。そのため、セキュリティ専門家として、デベロッパーがスピードとセキュリティの両方を向上させる方法でAIツールを採用できるようにすることが重要です。
その実現に向けた、3つの実践的な方法をご紹介します。
前述のとおり、デベロッパーはAIが生成したコードを、特にそれがクリーンに見え、エラーなくコンパイルされる場合、より容易に信頼し始めています。これに対処するため、ゼロトラストの考え方を採用しましょう。ゼロトラストは通常、IDやアクセス管理の文脈でよく語られますが、同じ原則を少し異なる枠組みでここにも適用できます。AI生成コードを、経験の浅いデベロッパーからの入力と同じように扱うべきです。有用ではありますが、適切なレビューなしには本番環境に実行すべきではありません。
デベロッパーは、コードがマージされる前に、そのコードが何を実行するのか、なぜ安全なのかを説明できる必要があります。AI生成コードのレビューは、ソフトウェア開発の世界で求められる新たなスキルセットになるかもしれません。これを得意とするデベロッパーは不可欠な存在になるでしょう。なぜなら、LLMのスピードとリスク軽減の考え方を組み合わせて、より安全なコードをより速く生み出せるからです。
ここで、GitLab Duoコードレビューのようなツールが役立ちます。ソフトウェア開発ライフサイクル全体にわたるAIコンパニオン機能として、コードレビュープロセスにAIを導入します。これは人間の判断を置き換えるのではなく、強化するためです。マージリクエストにおける質問、矛盾、見落とされた問題を可視化することで、AIは開発サイクルを加速させているAIそのものに、デベロッパーが遅れを取らないよう支援します。
大規模言語モデル(LLM)は強力ですが、与えられたプロンプトと同じくらい正確です。そのため、プロンプトエンジニアリングはAIツール活用における中核となりつつあります。LLMの世界では、入力そのものがインターフェースです。明確でセキュリティを意識したプロンプトの書き方を学ぶデベロッパーは、最初から安全なソフトウェアを構築する上で重要な役割を果たします。
たとえば、「ログインフォームを作成して」といった曖昧なリクエストは、しばしば安全でないか過度に単純な結果を生み出します。しかし、「入力検証、レート制限、ハッシング処理を備えたログインフォームを作成し、かつパスキーなどのフィッシング耐性のある認証方法をサポートしてください」といった、より多くのコンテキストを含めることで、組織のセキュリティ基準を満たす出力を得られる可能性が高まります。
Backlash Security社による最近の研究がこれを裏付けています。この研究では、安全なプロンプトが主要なLLM全体で成果を改善することが判明されました。デベロッパーが単にモデルに「安全なコードを書いて」と要求した場合、成功率は低いままでした。しかし、プロンプトにOWASPベストプラクティスを参照させた場合、安全なコード生成の割合が増加したのです。
プロンプトエンジニアリングは、開発チーム内のセキュリティ推進者を育成・支援する手法の一部であるべきです。安全なコーディングパターンや脅威モデリングを教えるのと同じように、同じセキュリティマインドセットでAIツールを導く方法もデベロッパーに教える必要があります。
有益なプロンプトエンジニアリングのヒントでさらに詳しく学びましょう。
AIの台頭により、同じ人数の人間で、より多くのコードをより速く書く時代が到来しました。この変化は、セキュリティを単なる最終チェックではなく、開発プロセスのあらゆる側面に組み込まれた常時稼働の防護策として捉え直す必要性を示しています。
コードが増えれば、攻撃対象領域も拡大します。そして、そのコードが部分的または完全に生成されたものである場合、リスク発見を安全なコーディング手法や個人の直感だけに依存することはできません。そこで自動スキャンの出番です。静的アプリケーションセキュリティテスト(SAST)、ソフトウェアコンポジション解析(SCA)、シークレット検出は、シークレット漏洩、サプライチェーン攻撃、SQLインジェクションなどの脆弱性リスクを軽減するための重要な制御となります。GitLabのようなプラットフォームでは、アプリケーションセキュリティがデベロッパーのワークフローにネイティブに組み込まれているため、開発ライフサイクルの自然な一部となっています。スキャナーはプログラム全体を追跡して、AIが生成した新しいコードが他のすべてのコードとのコンテキストにおいて安全であることを確認できます。これは、IDEやAI生成パッチで新規コードを見ているだけでは発見が難しい場合があります。
しかし重要なのは、スキャンするだけでなく、その速度です。開発チームがAI支援開発のスピードに追いつくには、高速で正確、かつスケーラブルなスキャンが必要です。特に正確性が重要で、スキャナーによる誤検知でデベロッパーを圧迫させてしまうと、システムへの信頼を完全に失うリスクがあります。
速く動き、かつ安全を保つ唯一の方法は、スキャンを絶対条件とすることです。
すべてのコミット、すべてのブランチに対して、例外は認めません。
AIはソフトウェアの構築方法を変えていますが、安全なソフトウェア開発の基本原則は依然として適用されます。コードは引き続きレビューが必要です。脅威は依然としてテストが必要です。そして、セキュリティは依然として私たちの働き方に組み込まれる必要があります。GitLabでは、まさにそれを実現しています。
デベロッパープラットフォームとして、ワークフローにセキュリティを後付けするのではなく、デベロッパーがすでに作業している場所、つまりIDE、マージリクエスト、パイプラインに直接組み込んでいます。スキャンは自動的に実行され、関連するセキュリティ情報が可視化されて、より速い修復サイクルを促進します。そして、デベロッパーがソフトウェアを構築、テスト、デプロイする同一のプラットフォーム上で動作するため、ツールや頭の切り替えが不要になり、安全なコードへの道筋がはるかにスムーズになります。
GitLab Duo脆弱性の説明および脆弱性の修正といったAI機能は、さらなるスピードと洞察をもたらし、デベロッパーがワークフローを中断することなく、より速くリスクを理解して修正することを支援します。
AIはセキュリティへの近道ではありません。しかし、適切なプラクティスと、デベロッパーの作業環境に即したプラットフォームがあれば、高速で安全、かつスケーラブルなソフトウェア構築に確実に貢献します。
GitLab UltimateとDuo Enterpriseの無料トライアルを開始し、より速く安全なソフトウェア構築を体験してください。ネイティブなセキュリティスキャン、AIを活用したインサイト、シームレスなデベロッパーエクスペリエンスにより、GitLabは開発スピードを落とすことなくセキュリティをシフトレフトする支援をします。