「AI?ダメ絶対!」とは言わせない!
伝統的な企業文化のなかでも、ソフトウェア開発にAIを
導入するための3つの方法とは?
2025-07-17 Developers Summit Summer
● 自己紹介と会社紹介
● GitLabとは
● AI活用に対する不安や懸念
● GitLabが上記をどのように解決するか
● まとめ
今日のアジェンダ
2
3
自己紹介と会社紹介
自己紹介
4
x.com/naoharu
gitlab.com/naosasaki
linkedin.com/in/naoharu-sasaki/
佐々木直晴 Naoharu Sasaki)
Senior Solutions Architect
2021年 GitLab
Senior Solutions Architectとして導入時の技術検証や構築支援、
ワークショップやトレーニングの提供に従事
2010年 野村総合研究所
金融業界のアジャイルプロジェクトを中心にテクニカルリードとして参画
主にJava系Webアプリケーションフレームワークの開発や導入支援など
GitLab: 会社とコミュニティ
会社
- 包括的なDevSecOpsプラットフォームを
GitLab.com、GitLab self-managed、GitLab Dedicatedで展開
- 2014年法人化、2021年10月にNasdaq上場
- 60カ国以上にまたがる2,000名以上の従業員
- All-remote: オフィスを持たない
広範な普及
- 複数の第三者評価でDevOpsプラットフォームの「リーダ」として認知
- Gartner Magic Quadrant、 The Forrester Wave
- 100,000以上の組織
- 3,000万以上のユーザ
- 毎月第三木曜にGitLab self-managedの新バージョンをリリース
強固なコミュニティ
- 2011年設立
- オープンソースモデル
- 3,300名以上のコードコントリビュータ
5
リモートワーク、コミュニケーション、働き方
6
● 現代の仕事において重要なポイント
を発表
○ 「GitLabで学んだ最高の働き方」
○ 「組織の自律自走を促すコミュニ
ケーション」
● 世界最先端のリモート組織を実現す
るための書籍を監修
GitLabに学ぶ パフォーマンス
を最大化させるドキュメンテー
ション技術
GitLabに学ぶ 世界最先端のリ
モート組織のつくりかた
アンケートにご回答いただいた方に
濡れた折畳み傘を収納できる
「傘カバー」をプレゼント!
8/27開催のウェビナーのご案内
GitLabの真価「ソースコード管理を超えた
統合開発プラットフォーム」とは?
無償版 GitLab の
活用方法を90分で学ぶ!
9
GitLabとは
10
GitLabとは?
ソフトウェアを開発するために必要な機能を一つの製品に統合した
DevSecOpsプラットフォーム
チケット管理
リポジトリ
CI/CD
セキュリティ
スキャン
生産性分析
ツールチェーンの組み合わせ GitLab
11
GitLab Recognized as a Leader
Source: Gartner, Magic Quadrant for DevOps Platforms, Manjunath Bhat, Thomas Murphy, et al., 03 September 2024
2024 Gartner® Magic Quadrant™
for DevOps Platforms
Gartnerは、Gartner, Inc.および/または米国とその他の国におけるその関連会社の商標およびサービスマークであり、MAGIC QUADRANTは、Gartner, Inc.および/またはその関連会社の登録商標であり、本書では許可を得て使用しています。All rights reserved.
Gartnerは、Gartnerリサーチの発行物に掲載された特定のベンダー、製品またはサービスを推奨するものではありません。また、最高のレーティング又はその他の評価を得たベンダーのみを選択するようにテクノロジーユーザーに助言するものではありません。Gartnerリサーチの発行物は、Gartnerリサーチの見解を表したものであ
り、事実を表現したものではありません。Gartnerは、明示または黙示を問わず、本リサーチの商品性や特定目的への適合性を含め、一切の責任を負うものではありません。
この図表は、Gartner, Inc.がリサーチの一部として公開したものであり、文書全体のコンテクストにおいて評価されるべきものです。オリジナルのGartnerドキュメントは、リクエストにより GitLabからご提供することが可能です。
「GitLab Duo」 - ソフトウェア開発全体でのAIによる支援
12
あるべきAI活用
統合されたコンテクスト
データストアがひとつに統合されたGitLabだからこそ、ユーザーのワークフロー全体の背景情報をすべて網羅こ
れにより、チームはソフトウェア開発全体のAIによる加速を実現可能
単一のデータストア
計画・議論 開発・検証 監視とカイゼン
デプロイ
継続的デリバリー
AIの活用
セキュリティとコンプライアンス
継続的カイゼン
13
GitLab Duoのコンセプト
GitLab Duoのコンセプト
あるべきAI活用
統合されたコンテクスト
データストアがひとつに統合されたGitLabだからこそ、ユーザーのワークフロー全体の背景情報をすべて網羅こ
れにより、チームはソフトウェア開発全体のAIによる加速を実現可能
単一のデータストア
計画・議論 開発・検証 監視とカイゼン
デプロイ
継続的デリバリー
AIの活用
セキュリティとコンプライアンス
継続的カイゼン
14
統合されたコンテクストを持つAIによる
ソフトウェア開発全体に対する支援
AI≠ツール AI=チームメンバー
15
AIをツールとして利用
断片的な情報を送信
限られた情報から
推奨・提案をAIから享受
AIがチームメンバーかのように
支援してくれる
Platformとして
様々なコンテクストを共有
GitLab
豊富かつ横断的なコンテクストから
適切な情報をGitLab Duoが提案
継続的デリバリー
AIの活用
セキュリティとコンプライアンス
単一のデータストア
計画・議論 開発・検証 監視とカイゼン
デプロイ
継続的カイゼン
16
例: AIがチームの一員になると・・・
①計画時の議論はソースコード
の提案に活用される
①
②ソースコードの変更内容は
CI失敗原因分析に活用される
②
③脆弱性を検知したら既存の
コードに修正を提案する
③
17
AI活用に対する不安や懸念
現在AIをソフトウェア開発に使用
している、または今後
2年以内に
使用する予定であると回答した組
織の割合
78%
ソフトウェア開発にAI活用は既にデフォルトに
出典:GitLabの2024年度DevSecOpsレポート
18
競争力の維持に欠かせない
ツールとなったAI
PoCや検証は始まりつつも、
本格利用はまだというケースも
19
AI活用に関する漠然とした不安や懸念
部長、このチームでもAIを使って
開発効率化に挑戦してみたいんですが、
使ってみてもいいですか?
うーん、でもセキュリティとか大丈夫なの?
情報流出とかトレーニングされたりとか、
なんか心配だから、まだやめておこう。
具体的にどういう懸念があって、
どう払拭すればいいんだろう。
20
理由1: 外部への知的財産流出の懸念
● 自社の機密情報や、競争優位性がクラウド側に送信され、AIベン
ダーがモデルのトレーニングに活用
● 他社へのソースコードの推奨でそれらの技術が流出するリスク
AIツール
AIツール
AIツール
AIツール
AIツール
AIツール
AIツール
AIツール
実際には一部のAIツールでは、
利用できるトークン数の上限を上げるために、
送信したデータでの学習を許可する
という設定が可能なツールも
21
理由2: AIが作ったものに脆弱性は含まれないのか
コード生成AIは安全か?LLMアプリのセキュリティ検証を実施してみた
AIが生成したコードのリスクとは?セキュリティ・倫理の課題と対策
22
理由2: AIが生成したものに脆弱性が含まれる懸念
Cybersecurity Risks of AI Generated Code.pdf
AIは原理的に脆弱性のあるコードを生成
5つの大規模言語モデル(LLM)に同一のプロンプトを与えた結果、生成さ
れたコードスニペットの約半数にバグやセキュリティ上の問題が含まれてい
ることが判明。
これらのバグは、メモリリークやバッファオーバーフローなど、悪意のある
攻撃者に悪用される可能性のある深刻なものが含まれる
理由
AIコード生成モデルは、インターネット上に公開されている既存のコードを
学習している。しかし、これらのコードの多くは品質が保証されておらず、
脆弱性を含んだまま公開されている。そのため、AIは「人間が過去に書い
た不完全あるいは不安全なコード」を模倣する傾向がある。
また、AIは「動くコードを素早く出力すること」を優先するよう設計されて
いる。このため、例外処理や認証チェック、入力検証といったセキュリティ
的に重要な構成要素が省略されることがある。
23
理由3: AIが作ったものをレビューできるかという懸念
● AIは利用上限が許す限り、休まず成果物を生成し続ける
● 人間のリソースは有限。量的・質的にもレビューがボトルネックに
AIでコーディングが爆速化した今、開発組織が向き合う新たなボトルネック
24
GitLabがこれらの懸念を
どのように解決するか
25
「理由1: 外部への知的財産流出の懸念」への解決策
GitLabはAIへのガバナンスと透明性を持ち、
最先端のAIのメリットを活用しながら組織の貴重な資産を保護
トレーニングに使うオプション・オプトインもなし
単一のデータストア
計画と作成 統合と確認
監視とカイゼン
デプロイと運用
継続的な改善
継続的なデリバリー
ソフトウェアデリバリー
バリューストリーム
セキュリティ・コンプライアンス
AI
GitLab AI Transparency Center
26
「理由1: 外部への知的財産流出の懸念」への解決策
知的財産の流出
● 機密情報がより多くの外部事業者へ
● 自社が持つ優位性が学習され、他社への
推奨に利用された場合、競争優位性が
失われる可能性も
ソフトウェア開発全体への AI利用は
トレーサビリティ・責任所在・学習用途利用の有無などを鑑み
て、信頼性の高いAIに利用を絞るべきである
最も信頼できる AI=Local LLM(自社内に閉じた利用)
AIツール
AIツール
AIツール
AIツール
AIツール
AIツール
AIツール
AIツール
27
「理由1: 外部への知的財産流出の懸念」への解決策
オンプレ or
クラウド
GitLab
インスタンス
Local LLM
gitlab.com 3rd
Party
AI
3rd Party AI
SaaS
Self
Managed
インターネット
AI
Gateway
AI
Gateway
GitLab/AIプロバイダーが提供
利用者が構築・運用
外部のAIを選択して
利用することも可能
クラウドベンダーAI
プライベート
クラウド
インターネット
28
「理由2: AIが生成したものに脆弱性が含まれる懸念」への解決策
AIは原理的に脆弱性のあるコードを生成
5つの大規模言語モデル(LLM)に同一のプロンプトを与えた結果、生成さ
れたコードスニペットの約半数にバグやセキュリティ上の問題が含まれてい
ることが判明。
これらのバグは、メモリリークやバッファオーバーフローなど、悪意のある
攻撃者に悪用される可能性のある深刻なものが含まれる
理由
AIコード生成モデルは、インターネット上に公開されている既存のコードを
学習している。しかし、これらのコードの多くは品質が保証されておらず、
脆弱性を含んだまま公開されている。そのため、AIは「人間が過去に書いた
不完全あるいは不安全なコード」を模倣する傾向がある。
また、AIは「動くコードを素早く出力すること」を優先するよう設計されて
いる。このため、例外処理や認証チェック、入力検証といったセキュリティ
的に重要な構成要素が省略されることがある。
主な提言
セキュアなソフトウェア開発の実践: NISTのサイバーセキュリティフレー
ムワークやセキュア・バイ・デザインの原則を、AIコード生成モデルにも
適用する
Cybersecurity Risks of AI Generated Code.pdf
29
「理由2: AIが生成したものに脆弱性が含まれる懸念」への解決策
マージリクエストと
ブランチの作成
自動ビルド
自動テスト
コラボレーション
レビュー
承認
AIによる
コードの生成
コード修正
デプロイした
アプリのレビュー
イシューの割当
セキュリティ
スキャン
リリース
マージ
受け入れ
デプロイ
イシュー セキュアなコードだけをマージ
GitLabはソースコードの変更(人間によるもの、AIによるもの両方)に対して、
常にセキュリティスキャンを実施可能。
30
「理由2: AIが生成したものに脆弱性が含まれる懸念」への解決策
SAST
Static Application Security Testing:
ソースコードを静的に解析することで脆弱
性を検出。
例:SQLインジェクション
依存関係スキャン
パッケージマネージャから依存関係を解析
することで、既知のライブラリの脆弱性を
検出、またSBOMの出力を実現。
例:CVE-2017-5638 (Apache Struts2)
ライセンス
コンプライアンス
パッケージマネージャーの依存関係を解析
し、プロジェクトのポリシーに従った承認
済みや非許可のライセンスを検出。
例:GPLライセンス
DAST
Dynamic Application Security Testing:
起動中のWebアプリ(レビュー用でも)の
ランタイム脆弱性を検出。
例:CSRF
Web API Fuzz
起動中のWeb APIにランダムなリクエスト
を発行。
例:500 INTERNAL SERVER ERROR
Secret
Detection
コミットしたコードに含まれる資格情報、
シークレット、パスワードなどをチェック
し、機微な情報の漏洩を検出。
例:AWS Key、DBパスワード
Coverage
Guided Fuzz
ホワイトボックス的に関数、メソッドにラ
ンダムな引数を渡し、実行。
例:ArrayIndexOutOfBoundsException
(Java), Heap-Buffer-Overflow (C++)
コンテナスキャン
Dpkgやrpmなどのパッケージマネージャを
解析し、コンテナ内の既知のライブラリの
脆弱性を検出。
例:Heartbleed, ShellShock
31
「理由2: AIが生成したものに脆弱性が含まれる懸念」への解決策
ルートグループ
(最上位)
サブ
グループ A
サブ
グループ B
プロジェクトX
プロジェクトY
プロジェクトZ
任意の
CIジョブA
ジョブA
ジョブA
ジョブA
任意の
CIジョブB
ジョブB
パイプライン実行ポリシーにより、セキュリティキャンを現場に委ねず
全社レベルでプロジェクト全体に実行させるように統制可能
パイプライン実行ポリシーにより、親グループで定義されたCIジョブを
配下のプロジェクトでは自動実行させることが可能
32
「理由2: AIが生成したものに脆弱性が含まれる懸念」への解決策
個々のマージリクエストに含まれる脆弱性 グループ・プロジェクト全体に含まれる脆弱性
33
「理由3: AIが作ったものをレビューできるかという懸念」への解決策
マージリクエストと
ブランチの作成
自動ビルド
自動テスト
コラボレーション
レビュー
承認
AIによる
コードの生成
コード修正
デプロイした
アプリのレビュー
イシューの割当
セキュリティ
スキャン
リリース
マージ
受け入れ
デプロイ
イシュー セキュアなコードだけをマージ
GitLabはソースコードの変更(人間によるもの、AIによるもの両方)に対して、
常にAIによるレビューを実施させることが可能
34
「理由3: AIが作ったものをレビューできるかという懸念」への解決策
どのような観点でレビューしてほしいかなどの指示もできるため、社内のガイドやポリ
シーを踏まえたレビューが可能
35
「理由3: AIが作ったものをレビューできるかという懸念」への解決策
● 品質を高めるだけでなく、メンバーのスキルアップにもつながる重要なプラクティス
● 一方で、迅速に行われないと、開発のボトルネックになることも
● 有識者・テックリードに集中しがちなレビュー負荷をオフロードすることが重要
○ レビューの観点
■ 機能観点・・・ソフトウェアが設計通り動くか、忘れていることがないか
■ 非機能観点・・正しく動くが、安全じゃない、性能が悪い、拡張性が悪い、など
36
「理由3: AIが作ったものをレビューできるかという懸念」への解決策
● 品質を高めるだけでなく、メンバーのスキルアップにもつながる重要なプラクティス
● 一方で、迅速に行われないと、開発のボトルネックになることも
● 有識者・テックリードに集中しがちなレビュー負荷をオフロードすることが重要
○ レビューの観点
■ 機能観点・・・ソフトウェアが設計通り動くか、忘れていることがないか
■ 非機能観点・・正しく動くが、安全じゃない、性能が悪い、拡張性が悪い、など
有識者のリソースが使われるべき領域
AIの支援により負荷をオフロード可能
37
まとめ
● AI活用は広がる一方で、伝統的・保守的な企業では慎重に判断されがち
● 具体的な懸念は下記
○ 情報流出、自社データのトレーニング利用
○ AIが生成したコードの脆弱性
○ 成果物が大量にAIにより生成されレビューがボトルネックに
● GitLabのセキュリティスキャンやDuoを活用することで解消可能
この内容を部内で説明してみよう!
38
デモ
39
デモ
40
福岡開催の成功を祈念いたしまして博多弁でレビューさせていただきました
アンケートにご回答いただいた方に
濡れた折畳み傘を収納できる
「傘カバー」をプレゼント!
41
8/27開催のウェビナーのご案内
GitLabの真価「ソースコード管理を超えた
統合開発プラットフォーム」とは?
無償版 GitLab の
活用方法を90分で学ぶ!
42

「AI?ダメ絶対!」とは言わせない! 伝統的な企業文化のなかでも、ソフトウェア開発にAIを 導入するための3つの方法とは? 2025-07-17 Developers Summit Summer