AI駆動開発を外注する前に確認すべきセキュリティ・権限管理チェックリスト|委託先への質問4項目
結論から先にまとめます。
- AI駆動開発を委託する際にセキュリティ面で確認すべきことは、大きく分けて「参照範囲」「実行権限」「学習・保存の扱い」「監査ログ」の4項目です。
- どれも委託先の営業説明だけでは判断が難しく、契約前に具体的な質問をぶつけて回答の解像度を確認する必要があります。
- 「AIを使っているので安全です」という説明は、それ自体では何も保証していません。何を・どこまで・誰の承認で動かしているかを確認してください。
ただし、この4項目を確認しても解消できない懸念が1つ残ります。それは後半の「委託先の説明を鵜呑みにしない」の章で扱います。
なぜ発注者側がセキュリティを確認する必要があるのか?
AI駆動開発では、委託先のAIコーディングエージェントが自社のソースコードやデータに直接アクセスする場面が生まれるため、発注者側にも確認の負担が生じます。
従来の受託開発では、委託先のエンジニアが人力でコードを書き、レビューを経て納品する工程が基本でした。AI駆動開発では、これに加えてAIエージェント(Claude Codeなどのツール)がリポジトリを読み込み、ファイルを編集し、コマンドを実行する工程が入ります。エージェントに与える権限の範囲、参照させるデータの範囲は、委託先の設定次第で大きく変わります。
これは「AI駆動開発が危険」という話ではありません。AI駆動開発とは?費用・納期を発注者向けに解説で触れたとおり、AIの活用範囲は工程ごとに確認すべき事項であり、セキュリティも同じく確認事項の1つです。委託先がどのような権限設計・データ取り扱いをしているかを、発注者側が契約前に把握しておくと、後から「想定していなかった範囲まで見えていた」という事態を避けやすくなります。
確認1: エージェントが参照できる範囲はどこまでか?
委託先のAIエージェントが、契約対象のリポジトリ・ドキュメント以外に何を参照できる設定になっているかを確認します。
具体的に聞くべき質問は次のとおりです。
- エージェントの参照範囲は、案件ごとのリポジトリ・ディレクトリに限定されているか
- 他社案件のコードや、自社の内部ナレッジベースと同じ環境で動かしていないか
.envや認証情報を含むファイルを、除外設定(.claudeignore等)で参照対象から外しているか- 顧客から預かった個人情報・取引先の機密情報を、開発に不要な範囲までエージェントに読み込ませていないか
「プロジェクトごとに環境を分離している」という回答だけでなく、実際にどのファイル・ディレクトリを除外しているか、除外設定の実物を確認できるかまで踏み込んで質問すると、説明の解像度が分かります。
確認2: エージェントはどこまで自律的に実行できるのか?
参照だけでなく、ファイルの書き換え・コマンド実行・外部送信のどこまでを人の承認なしで進めているかを確認します。
AIエージェントは、コードの提案だけでなく、ファイルの直接編集やテストの実行、場合によっては本番相当の環境への操作まで行えます。委託先の運用によって、次のように自律性の幅が変わります。
| 運用パターン | 内容 | 確認すべき点 |
|---|---|---|
| 提案のみ | エージェントは変更案を出し、人が全て確認してから反映 | レビュー担当者が実際に差分を見ているか |
| 承認制の自動実行 | 事前に許可した操作(ファイル編集等)は自動実行、それ以外は都度確認 | 許可リストの範囲と、リストの見直し頻度 |
| 広範な自動実行 | コマンド実行や外部通信まで含め自律的に進める | 想定外の操作を拒否する仕組み(権限分離)があるか |
特に確認したいのは、エージェントに許可していない操作が「実際に拒否される」ことをどう担保しているかです。設定上は制限していても、実装の不備で意図しない操作が通ってしまうケースはツール側・運用側の双方であり得ます。委託先が権限設計をどう検証しているかを尋ねてください。
確認3: 入力した情報はAIの学習・保存に使われないか?
契約対象のソースコード・設計情報・顧客データが、委託先が利用するAIサービスの学習や第三者への提供に使われない設定になっているかを確認します。
これは委託先自身のセキュリティ対策だけでなく、委託先が利用しているAIサービス(Claude、ChatGPT、Copilot等)側の契約条件にも関わります。生成AIに学習させない設定まとめで整理したとおり、サービスによって学習利用・保存・外部送信の扱いは異なり、個人向け契約と法人向け契約でも条件が変わります。
委託先に確認する質問例です。
- 開発に利用しているAIサービスは、法人向け契約か個人向け契約か
- その契約で、入力内容の学習利用はオフになっているか
- NDA・秘密保持契約の対象に、AIサービスへの入力行為が含まれているか
- ソースコードやデータをAIサービスに送信する前提を、契約書上どう扱っているか
「学習させない設定にしています」という回答だけで終わらせず、どのサービスのどのプランで、その設定が管理者権限でロックされているかまで確認すると安心材料になります。
確認4: 誰が何をしたか、後から確認できるか?
エージェントの操作ログが記録されており、問題が起きた際に「いつ・何を・誰の承認で」実行したかを追跡できるかを確認します。
自律的に動く工程が増えるほど、後から経緯を追跡できる仕組みの有無が重要になります。確認したい点は次のとおりです。
- エージェントの操作履歴(ファイル変更、コマンド実行)がログとして残るか
- ログの保存期間と、誰が閲覧できるか
- 想定外の挙動が起きた場合の報告・対応フローが契約に含まれているか
ログが「残せる仕組みはあるが運用していない」というケースもあるため、実際に運用しているかどうかまで確認してください。
発注者が委託先に確認する4項目(参照範囲・実行権限・学習保存・監査ログ)を並べ、それぞれの良い回答例と避けるべき回答例を対比した図解
確認を怠るとどんな失敗が起きるのか?
確認を省いた場合に起こりやすい失敗は、権限や参照範囲が「なんとなく広いまま」進み、問題が起きて初めて設定に気づくパターンです。
架空の例で考えます。A社は、既存の基幹システムの改修をAI駆動開発で依頼しました。委託先の説明は「AIを活用して効率的に進めます」というものだけで、参照範囲や実行権限について具体的なやり取りはありませんでした。
開発が進む中で、委託先のエージェントが既存システム全体のリポジトリ(今回の改修対象外の機能や、他部署が管理する認証情報を含むディレクトリ)にアクセスできる設定のまま作業していたことが、納品後のヒアリングで判明しました。実際に情報が外部へ漏れたわけではありませんが、A社は「契約対象外の範囲まで見えていた」という事実を、納品後まで把握できていませんでした。
この失敗の原因は、委託先の技術力ではなく、発注時点で参照範囲を明示的に取り決めていなかったことにあります。契約書に「セキュリティに配慮する」と書かれていても、それが具体的にどの設定を指すのかを双方で合意していなければ、実務上は何も決まっていないのと同じです。
同様に、実行権限を確認しないまま進めた場合、想定していなかった自動化(本番相当の環境への直接操作など)が行われていて、稼働後に気づくケースもあり得ます。委託先が悪意を持っているかどうかとは関係なく、「確認しなかった」こと自体がリスクの所在になります。
委託先の説明を鵜呑みにしない
冒頭で触れた注意点はここです。上記4項目を質問しても、返ってくる答えが「大丈夫です」という言葉だけでは、実際の設定を確認したことにはなりません。
確認の解像度を上げるには、次のような一歩踏み込んだ聞き方が有効です。
- 「除外設定をしています」→ 実際の除外ファイルリストを見せてもらえるか
- 「承認制です」→ 直近の案件で、どのような操作を承認・却下した実績があるか
- 「学習させない設定です」→ どのサービスのどの管理画面で、いつ確認したか
- 「ログを残しています」→ サンプルとして、ログの記録項目を見せてもらえるか
具体的な運用の裏付けを示せる委託先であれば、口頭の説明と実態のズレが少ないと判断できます。逆に、質問への回答が抽象的な言い回しに終始する場合は、実際の運用が固まっていない可能性があります。
自社が委託先の場合の設計例
私たちが受託開発でAI駆動開発を進める際は、案件ごとにリポジトリとエージェントの作業環境を分離し、.envや認証情報を含むディレクトリは除外設定で参照対象から外したうえで、ファイル編集は都度レビューを挟む運用を基本にしています。顧客から預かったデータをAIサービスの学習に使わない設定にできるかどうかは、利用するサービス・契約形態によって条件が変わるため、案件開始前に確認したうえで対応します。固定の運用テンプレートを一律に適用するのではなく、案件の機密性に応じて参照範囲と承認フローを都度設計します。
発注前に用意しておく資料
委託先に質問する前に、自社側でも次を整理しておくと、確認がスムーズになります。
- 開発対象システムが扱う情報の機密度(個人情報・取引先情報・社外秘の設計情報の有無)
- 既存のNDA・秘密保持契約で、AIサービスへの入力行為をどう扱っているか
- 社内で許可しているAIサービス・禁止しているAIサービスの一覧(あれば)
これらが整理できていない場合、委託先との確認以前に、自社内のルールを先に固める必要があります。
この記事で持ち帰れることは次の3点です。
- 発注者が確認すべき4項目(参照範囲・実行権限・学習保存・監査ログ)と、それぞれの具体的な質問例
- 「大丈夫です」という回答だけでは不十分で、実際の設定・ログ・除外リストまで確認する必要があること
- 自社内のNDA・許可ルールが整理できていないと、委託先への確認も曖昧になること
まずは、今検討している案件が扱う情報の機密度を書き出してみてください。個人情報や取引先の非公開情報が含まれるかどうかだけでも整理できれば、委託先に聞くべき質問の優先順位が見えてきます。
よくある質問
Q. AIエージェントを使わない委託先の方が安全ですか?
一概には言えません。AIエージェントを使わなくても、人的な確認漏れや権限管理の不備は起こり得ます。重要なのは手法の有無ではなく、参照範囲・実行権限・データの扱い・記録の仕組みが具体的に説明できるかどうかです。
Q. 委託先にセキュリティ運用の証跡を見せてもらうことは一般的ですか?
案件の機密度によります。個人情報や取引先の非公開情報を扱う場合は、除外設定やログの実物確認を求めることは不自然ではありません。委託先が対応できるかどうかも、選定材料の1つになります。
Q. NDAを結んでいればAIサービスへの入力は問題ありませんか?
NDA自体はAIサービスへの入力可否を自動的に決めるものではありません。NDAの条文がAIサービスへの入力行為をどう位置づけているか、利用するAIサービス側の契約条件と照らし合わせて確認する必要があります。
Q. 権限設計の確認は開発着手後からでも間に合いますか?
契約前に確認しておく方が望ましいです。着手後に参照範囲や権限の変更を求めると、環境の再構築や追加の合意形成が必要になり、スケジュールに影響することがあります。
自社の状況を整理して相談する
まず、開発対象システムが扱う情報の機密度と、既存のNDA・社内ルールでAIサービスの利用がどう扱われているかを書き出してください。見積もりの確認シートとAI相談用プロンプトで、未確認の項目を残したまま整理できます。
AI駆動開発の費用・工程の考え方はAI駆動開発とは?費用・納期を発注者向けに解説、開発会社の選び方全般はNext.js開発会社の選び方、社内でAIエージェントを運用する際の権限設計はAIエージェントのセキュリティ設計もあわせてご確認ください。
運営・編集