#security#ai#supply-chain#devops#compliance
AI時代の“見えないコード”脅威に備える:開発サプライチェーン防御プレイブック
QiitaやHacker Newsで目立つ議論の1つが、生成AIとソフトウェア供給網の組み合わせで生まれる“見えないコード”問題です。ここでいう見えないコードとは、レビューの目をすり抜ける形で混入する改ざん経路の総称です。
典型パターン
実務で多いのは次の4種です。
- Unicode/Bidi文字を使った識別子偽装
- lockfileやbuild scriptへの微細な不正差分
- プロンプト注入で生成手順に悪性指示を混ぜる
- 類似名パッケージによるdependency confusion
AIアシスタントは速度を上げるため、悪性断片の再生産速度も上げます。
防御は“点”ではなく“面”で作る
リポジトリ防御
- 署名コミットと来歴記録を必須化
- 不審Unicodeのポリシーブロック
- build/tooling系ファイルのCODEOWNERS強制
CI/CD防御
- SBOM自動生成と差分検証
- リリースブランチの再現ビルド検証
- ビルドエージェントの外向き通信制限
依存関係防御
- 社内ミラー経由の導入を既定化
- 名前空間ポリシーで類似名を遮断
- 新規transitive dependencyの隔離審査
AI運用防御
- エージェントに許可されたツール動作の明文化
- 生成コードのマージ前スキャン
- インストール系コマンドの自動承認禁止
インシデント初動
疑わしい改変を検出したら、24時間以内に次を実行します。
- 対象ブランチのマージ権を凍結
- 証跡再構築(セッション/プロンプトハッシュ/依存グラフ)
- 認証情報とトークンをローテーション
- 再発防止ポリシーを公開して反映
完璧な根本原因分析より、封じ込め速度を優先します。
90日成熟プラン
- 1か月目:現状スキャナとポリシー網羅率の可視化
- 2か月目:SBOM・来歴検証をCIゲート化
- 3か月目:見えないコード想定の机上訓練
まとめ
AI時代は、開発速度と信頼性を二者択一にしない設計が必要です。来歴証跡・供給網統制・エージェント制御を同時に実装することで、速度を維持したままリスクを下げられます。