AIをもってAIを制す GitLab Duoで実現する安全な開発
最後に佐々木氏は、GitLab DuoがいかにしてAI導入の懸念を払拭し、安全な開発を実現するかをデモで実演した。
まず、GitLabの画面に表示されたWeb API開発のイシューから、専用のブランチを持つマージリクエストを作成。この時点で、ブランチに加えられた変更には、セキュリティスキャンとAIレビューが実行されるよう設定されている。ここで佐々木氏は現実的なリスクを想定したシナリオとして、AIによるコード生成機能を使わず、あえて人間の手で意図的に脆弱性のあるコードを挿入した。
この変更をリポジトリにプッシュすると即座にCI/CDパイプラインが実行され、セキュリティスキャンが開始された。 スキャンと承認が完了するまで、マージリクエストはブロックされ、リスクのあるコードがリポジトリ本体に統合されない仕組みだ。しばらく経つと、セキュリティスキャンが完了し、先ほど追加した中程度のクロスサイトリクエストフォージェリ(CSRF)脆弱性が1件検出された。佐々木氏によれば、GitLab Duoは問題箇所を特定するだけでなく、修正用のマージリクエストを自動生成することも可能だという。
佐々木氏は続いて、AIによるレビュー機能を実演。ドラフト状態のマージリクエストを「準備完了」にすると、わずか数秒でGitLab Duoがレビュー結果を表示した 。そこには「このメソッドには複数の問題があるばい」「バリデーションがなくて検証ができとらん」と博多弁での鋭い指摘が並ぶ。その理由は、佐々木氏がデブサミ福岡開催を祝して「博多弁で記載して」と事前にYAMLによる指示をAIに与えていたためだ。佐々木氏はデモンストレーションを通して、GitLab Duoが、チームのニーズに合わせた柔軟な観点や依頼事項を含めたAIによる自動レビューが可能であることをユーモアを交えながら示した 。
佐々木氏は、まとめとして「大規模組織が、安易にAIを導入すべきではないという慎重な姿勢になるのは理解できる。しかし開発生産性向上のためにはAI活用が不可欠であり、適切な対策を講じた上で導入を検討してほしい」と締めくくり、講演を終えた。
GitLab Duoを紹介するウェビナー開催!
記事内で登場したGitLab Duoをご紹介するだけでなく、コーディング支援に留まる限定的なAI活用、AIが生成するコードに潜む脆弱性の検知と排除、そして現場で発生する予期せぬ知的財産の流出リスクといった、AI活用がスタンダード化する過程で浮上した新たな課題の解決方法についてもお伝えします! ソフトウェア開発におけるAI活用を実践・検討中の方におすすめです!10月8日(水)15時から開催いたします。