AIコーディングは、補完から設計、テスト、コマンド実行まで広がっています。便利さが増えるほど、誤ったコードだけでなく、秘密情報の送信、危険なコマンド、脆弱な依存関係、過剰な権限が実行へ直結します。安全な導入には、AIを特別扱いせず、変更を提案する外部寄稿者のように検証する姿勢が必要です。
IT・ソフトウェア業界のAI活用事例で対象業務を選んだら、読み取り専用の小さなリポジトリと隔離環境から試します。
導入時の12項目
| 領域 | 確認内容 | 最低限の対策 |
|---|---|---|
| 入力 | ソース、顧客情報、秘密情報 | 禁止情報と承認環境を明示 |
| 権限 | ファイル、シェル、ネットワーク | 最小権限、隔離、都度承認 |
| 依存関係 | パッケージ名、版、供給元 | ロック、SBOM、脆弱性検査 |
| 生成コード | 認証、入力検証、暗号、エラー | 人のレビューと静的解析 |
| テスト | 正常系、境界値、権限、失敗 | AI生成テストもレビュー |
| 外部通信 | API、URL、データ送信 | 許可先限定、通信ログ |
| 変更 | 差分、生成理由、担当者 | 小さいPR、署名、履歴 |
| 実行 | コマンド、削除、課金 | 破壊操作を別承認 |
| CI/CD | 秘密、成果物、デプロイ | 環境分離、保護ルール |
| 監視 | 異常操作、失敗、逸脱 | 操作ログ、アラート |
| ライセンス | 生成物と依存物 | 出所・条件の確認 |
| 事故対応 | 停止、取消、連絡 | トークン失効、切戻し訓練 |
IPAのAIセキュリティ情報とAIセキュリティ・ブリーフィングでは、AIシステムをめぐる新しい脅威や事例が整理されています。導入時の設定だけで終わらせず、モデルやツール更新に合わせて脅威を見直します。
コードレビューで聞く7つの質問
- この変更は要件を満たし、不要な機能を増やしていないか。
- ユーザー入力、ファイル、外部応答を信用していないか。
- 認証と認可を混同し、権限確認を省いていないか。
- 秘密や個人情報をログ、例外、URLへ出していないか。
- 存在しないパッケージや古いAPIを提案していないか。
- 失敗時に安全側へ倒れ、処理を戻せるか。
- テストが実装を追認するだけでなく、攻撃と境界を試しているか。
AIへ任せない操作
- 本番データの削除、移行、権限変更を無承認で実行すること
- 本番シークレット、秘密鍵、顧客データへ常時アクセスすること
- レビューや保護ルールを回避してmainへ直接反映すること
- 脆弱性警告を理由なしに無効化すること
- インシデントの影響判断と対外連絡を自動確定すること
エージェントには必要な時間だけ認証情報を渡し、操作対象と外部通信先を限定します。実行前に差分やコマンドを人が確認できる段階を設け、操作ログを後から追跡できるようにします。
30日導入プラン
| 期間 | 作業 | 合格条件 |
|---|---|---|
| 1週目 | 利用規程と脅威モデルを作る | 禁止情報・権限・責任者が明確 |
| 2週目 | 隔離リポジトリで補完とテストを試す | 外部通信とログを把握できる |
| 3週目 | SAST、依存関係、秘密スキャンを連携 | AI生成差分も同じゲートを通る |
| 4週目 | 模擬事故と切戻しを実施 | 停止、失効、連絡を再現できる |
効果は生成行数ではなく、レビュー時間、手戻り、脆弱性、変更サイズ、障害件数で測ります。AIが速く書けるほど、小さく検証可能な変更へ分ける設計が重要になります。
