AI時代の安全なシステム開発とは?~機密情報を守りながら生産性を高める開発体制の考え方~

目次

~セキュリティを担保しながらAI開発を進める考え方~

近年、Codex、ChatGPT、Claude Code、GitHub Copilotなど、ソースコードを解析して開発支援を行うAIツールが急速に普及しています。

しかし一方で、

  • 「リポジトリをAIに見せたら全部盗まれる」
  • 「顧客情報が漏洩する」
  • 「ソースコードが学習されて流出する」

といった不安の声もあります。

確かに何も考えずに本番環境の情報をそのままAIへ渡すのは危険です。

しかし実際には、多くの企業や開発チームでは「コード」と「秘密情報」を分離することで、安全にAIを活用しています。


本当に危険なのは何か?

まず整理したいのは、

「ソースコード」と「秘密情報」は別物である

ということです。

例えば以下は秘密情報です。

  • DBパスワード
  • APIキー
  • JWT秘密鍵
  • AWSアクセスキー
  • SSH秘密鍵
  • 顧客個人情報
  • 本番データ

これらはAI以前にGitへ保存してはいけません。

一方で、

  • PHPソース
  • JavaScript
  • HTML
  • CSS
  • Smartyテンプレート
  • SQLスキーマ

などは、一般的には秘密情報ではありません。


現在の開発業界ではどうしているか

現在の標準的な開発手法では、

「秘密情報をGitへ保存しない」

ことが前提です。

例えばLaravelでは、

.env

ファイルに本番設定を書き、

Git管理対象外にします。

Gitには

  • ソースコード
  • 設定サンプル
  • マイグレーション

だけが保存されます。

つまり、

「AIにリポジトリを見せる」

のではなく、

「秘密情報を除外したリポジトリをAIに見せる」

という考え方です。


AI時代の推奨構成

Gitに保存するもの

  • PHP
  • JavaScript
  • HTML
  • CSS
  • SQLスキーマ
  • 設定サンプル

Gitに保存しないもの

  • DB接続情報
  • APIキー
  • 顧客データ
  • 本番環境設定
  • 秘密鍵

さらに安全な方法

AI活用を前提とするなら、

以下のような構成が理想です。

production

本番環境用

  • 顧客情報あり
  • 秘密情報あり

AIアクセス禁止


ai-dev

AI開発用

  • 顧客情報なし
  • APIキーなし
  • パスワードなし
  • ダミーデータ使用

AI利用可能


このように環境を分離することで、セキュリティを維持したままAI開発を進められます。


むしろAI時代に必要なのは

「AIに見せないこと」

ではなく、

「見せても安全な構造を作ること」

です。

今後は、

  • PHP5→8移行
  • フレームワーク更新
  • ライブラリアップデート
  • テストコード生成
  • ドキュメント作成

など、多くの開発作業でAIが利用されるようになります。

そのたびに

「AIにコードを見せるのは危険だから禁止」

としていては、生産性で大きな差が生まれます。


結論

リポジトリをAIに見せること自体が危険なのではありません。

危険なのは、

「秘密情報が混在したままAIへ渡すこと」

です。

適切な設計を行えば、

  • Git管理
  • Secrets分離
  • ダミーデータ化
  • 環境分離

によって、セキュリティを維持したままAIを活用できます。

今後の開発現場では、

「AIを禁止する」

ではなく、

「AIを安全に使える開発体制を整える」

ことが重要になるでしょう。

実際の開発は、AIがリポ氏取りを見て開発をするやり方が一般的

AIにGitリポジトリを見せる

は、今やかなり普通です。

特に、

  • Codex
  • Claude Code
  • GitHub Copilot
  • Cursor
  • Windsurf

などのAI開発ツールは、

リポジトリ全体を読ませる

ことを前提に設計されています。


AIがリポジトリを見ないと何が起こるか

例えば、

OrderService.php
InventoryService.php
CustomerService.php

があるとします。

AIに

InventoryServiceだけ

渡して、

在庫引当機能を追加して

と言っても、

AIは

注文はどう管理している?
商品マスターは?
共通関数は?

が分からない。


だから実際は

リポジトリ全体
↓
構造把握
↓
変更

になります。

これは人間の新規メンバーがプロジェクトに参加するときと同じです。


いま最先端では

例えばClaude Codeだと、

git clone
↓
AIがリポジトリ全体を読む
↓
変更
↓
テスト
↓
コミット案作成

までやります。

実質、

新人エンジニア

が1人増えたような感覚です。


大企業はどうしている?

実は、

Microsoft
や

Google

でも、

コード

はAIに見せています。

ただし、

Secrets

は見せません。


逆に言うと

AI活用に向いていないリポジトリは、

$dbPass = "password123";

とか

$openaiApiKey = "sk-xxxx";

とか

$awsSecret = "xxxx";

が平気で入っているリポジトリです。

こちらが問題です。


アピスの案件で考えると

例えば、

アピス在庫管理

のリポジトリをAIに見せるのは、

私は問題ないと思います。

ただし、

顧客AのDBダンプ
顧客Aの注文データ
顧客Aの個人情報
APIキー

は除外します。


現実的な運用

私は今後、

JUNさんの会社なら

Git
├ src
├ public
├ template
├ sql
├ docs
└ config.sample.php

はAI可

.env
config.local.php
customer_dump.sql
backup.zip

はAI不可

という運用になると思います。


なので、

AIがGitリポジトリを見ながら開発する

は、

2026年現在ではかなり普通です。

むしろ最近は、

リポジトリを見せずにAIへ単発質問する

方が少数派になりつつあります。

ただし前提は、

コードと機密情報を分離していること

です。

ここを守れば、AIにリポジトリを見せること自体は、現在の開発現場では一般的なやり方になっています。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

コメント

コメントする

目次