生成AIと大規模言語モデルを使用していると、一つの疑問が浮かびます。
十分な安全装置を適用すれば、LLMを完璧に制御できるのだろうか?
結論から言えば、LLMのリスクを大幅に減らすことは可能ですが、あらゆる入力と状況で望む通りに動作するように完璧に制御することは、現実的に非常に困難です。
その理由は、LLMが一般的なソフトウェアのように人間が書いたルールだけを実行するシステムではなく、膨大なデータから統計的パターンを学習したニューラルネットワークモデルだからです。
この記事では、生成AIセキュリティを「モデルを完璧に縛り付ける技術」ではなく、「モデルが失敗したり迂回されたりしても、被害が実際のシステムに及ばないようにする構造」という観点から整理してみます。

人工ニューラルネットワークは生物学的ニューロンから出発した
人工ニューラルネットワークは、人間の脳と神経細胞が情報を伝達する方法からアイデアを得ました。
複数の入力を受け取り、重要度を計算し、一定の条件を満たせば次のニューロンに信号を伝達するという概念を数学的に単純化したものです。
입력값
→ 가중치 적용
→ 여러 입력값 결합
→ 활성화 함수
→ 출력값 전달
このような構造は、初期の人工ニューラルネットワークからCNN、RNN、LSTMを経て、Transformerと現代のLLMへと発展しました。
인공신경망
→ CNN·RNN
→ LSTM·Attention
→ Transformer
→ GPT·Llama 등 LLM
ただし、人工ニューラルネットワークが実際の人間の脳をそのまま複製したわけではありません。生物学的ニューロンから基本的なアイデアを得ただけで、現代のLLMは、数多くのパラメータがデータのパターンを学習した大規模な数学モデルに近いものです。
したがって、生物学的構造を模倣したから制御不能なのではなく、モデルが過度に大きく複雑な確率的システムであるため、すべての行動を予測することが難しいと説明する方が正確です。
LLMはルールを実行するプログラムと異なる
従来のプログラムは、開発者が作成した条件と命令を実行します。
if user_role == "admin":
allow_access()
else:
deny_access()
入力値とプログラムの状態が同じであれば、結果も比較的明確に予測できます。
一方、LLMは入力された文脈に基づいて、次に続く可能性が高いトークンを計算します。
사용자 입력
→ 문맥과 토큰 관계 분석
→ 다음 토큰의 확률 계산
→ 토큰 선택
→ 같은 과정을 반복
例えば、モデルは次のような確率分布を計算できます。
"보안" 다음에 올 토큰
정책: 35%
점검: 25%
취약점: 20%
시스템: 10%
기타: 10%
LLMの出力は、このような確率計算を繰り返して生成されます。Temperatureのような生成設定や以前の会話内容、システムプロンプト、外部ドキュメントが異なると、結果も変わる可能性があります。
つまり、LLMは決められた答えを検索するデータベースではなく、文脈に応じて結果を生成する確率的モデルです。
完璧な制御が難しい理由
LLMの行動を完全に予測することが難しい理由は、単に出力に無作為性があるからだけではありません。
モデルは、数十億から数兆個に及ぶパラメータ間の複雑な相互作用を通じて結果を生成します。特定の入力が内部でどのような計算を経て最終的な回答に至ったのかを、人間がすべての段階で明確に説明することは困難です。
また、実際のLLMサービスにはモデルだけが存在するわけではありません。
사용자 입력
→ 시스템 프롬프트
→ LLM
→ RAG 검색
→ 외부 도구 호출
→ 데이터베이스·API
→ 최종 응답
ここには、次のような不確実性が共に存在します。
- 学習データに含まれるエラーと偏り
- 初めて接する入力に対する一般化の失敗
- プロンプト表現による結果の変化
- 直接・間接プロンプトインジェクション
- RAGドキュメントに含まれる悪意のある指示
- ツール呼び出し過程での権限の誤用
- モデルアップデートによる行動の変化
- 複数の構成要素を組み合わせることで発生する脆弱性
したがって、モデルの安全性だけを高めても、システム全体のセキュリティが自動的に確保されるわけではありません。
OWASP GenAI Security ProjectのLLM Top 10も、このような観点をよく示しています。2025年のリストには、Prompt Injection、Sensitive Information Disclosure、Improper Output Handling、Excessive Agency、System Prompt Leakage、Vector and Embedding Weaknessesといった項目が含まれます。これらはほとんどが「モデルが悪い答えを出した」という問題で終わるのではなく、モデルがアプリケーション・ツール・データと接続されるときに生じるシステムセキュリティの問題です。
予測不可能性とセキュリティ脆弱性は区別すべきだ
LLMが予想と異なる回答を生成したからといって、それがすべてセキュリティ脆弱性であるとは限りません。
例えば、モデルが事実と異なる内容を答える幻覚は信頼性の問題です。しかし、モデルの誤った回答がシステムコマンドとして実行されたり、重要な意思決定に使用されたりすると、実際のセキュリティ事故につながる可能性があります。
모델의 잘못된 출력
→ 사용자에게 참고 정보로만 제공
= 품질·신뢰성 문제
모델의 잘못된 출력
→ 서버 명령이나 금융 거래로 자동 실행
= 보안 사고 가능성
LLMの予測不可能性自体が、すぐに脆弱性であるわけではありません。
しかし、予測が難しいモデルに過度な権限を与え、検証なしに外部システムと接続すると、その不確実性が脆弱性に転換される可能性があります。
生成AIセキュリティは信頼しないことから始まる
LLMセキュリティにおいて最も重要な原則は、モデルを信頼できるセキュリティ主体として扱わないことです。
モデルに「重要な情報を公開するな」と指示したからといって、実際にアクセス権限のある秘密情報をすべて渡しても良いわけではありません。システムプロンプトもセキュリティ境界ではなく、モデルに伝える指示文に過ぎません。
したがって、セキュリティ制御はモデルの外部で強制する必要があります。
LLM을 완전히 신뢰하지 않음
→ 입력 검증
→ 출력 검증
→ 최소 권한 적용
→ 도구 호출 통제
→ 중요 작업 승인
→ 감사 로그와 모니터링
→ 지속적인 공격 테스트
入力と外部ドキュメントを信頼しない
ユーザー入力だけでなく、ウェブページ、メール、PDF、RAGドキュメントにも悪意のある指示が含まれる可能性があります。
LLMが読み込むすべてのデータは、潜在的に攻撃者が制御できる入力として扱うべきです。
出力は実行前に検証する
LLMが生成したSQL、コード、コマンド、API引数をそのまま実行してはなりません。
スキーマ検証、許可リスト、ポリシーチェック、実行環境の隔離などの手順が必要です。
最小限の権限のみを提供する
LLMが接続されたツールには、業務遂行に必要な最小限の権限のみを付与すべきです。
例えば、メール検索のみが必要なエージェントにメール送信や削除権限まで付与すると、モデルのミスが実際の事故に拡大する可能性があります。
重要な作業は人の承認を経る
決済、アカウント削除、権限変更、外部送信といった高リスク作業には、Human-in-the-Loop方式の承認を適用すべきです。
LLM의 작업 제안
→ 정책 검사
→ 사용자 또는 관리자 승인
→ 실제 실행
失敗と迂回を前提にテストする
一度のプロンプトテストを通過したからといって、モデルが安全であるとは限りません。
表現変更、多言語入力、エンコーディング、ロールプレイング、間接プロンプトインジェクションなど、さまざまな変形を利用して継続的に点検する必要があります。
完璧な防御よりも被害を制限する構造が重要だ
生成AIセキュリティの目標を「モデルが絶対に間違った行動をしないようにすること」と設定すると、現実的なセキュリティ設計が困難になります。
より現実的な目標は次のとおりです。
モデルが誤った判断をしたり、攻撃に迂回されたりしても、重要なデータとシステムには被害が発生しないようにすること
これは、既存のセキュリティのゼロトラスト原則ともつながります。
ユーザーを無条件に信頼しないように、LLMも無条件に信頼すべきではありません。モデルの出力は一つの要求や提案として扱い、実際の権限判断と実行の可否は、別途のセキュリティレイヤーが決定すべきです。
사용자
→ LLM
→ 보안 Wrapper
├── 인증 확인
├── 권한 검사
├── 입력값 검증
├── 정책 적용
└── 승인 여부 확인
→ 외부 도구 실행
この構造では、LLMが攻撃者の指示に従ったとしても、セキュリティラッパーが許可されていない動作を遮断できます。
NIST AIリスク管理フレームワークが強調する方向もこれと似ています。AIリスク管理は一度のチェックリストで終わるものではなく、Govern、Map、Measure、Manage活動を通じて開発・展開・運用全過程で繰り返し実行すべき管理体系に近いものです。生成AIセキュリティも、モデル単体の性能や安全フィルターだけに頼るのではなく、運用ポリシー・権限・検証・モニタリングを共に設計する必要があります。
生成AIセキュリティの出発点
LLMは優れた性能を提供しますが、あらゆる状況で動作を完璧に予測したり制御したりできるシステムではありません。
だからといって、LLMを使用できないという意味でもありません。自動車事故の可能性があるからといって自動車を使用しないのではなく、シートベルトやブレーキ、交通ルールを共に適用するのと同じです。
生成AIもモデルの限界を認め、複数のセキュリティレイヤーを共に適用する必要があります。
生成AIセキュリティは、モデルを完璧に制御できるという信念からではなく、モデルがいつでも失敗したり迂回されたりする可能性があるという認識から始まります。
モデルの予測不可能性を排除しようとするよりも、その不確実性が実際のデータ漏洩や権限の誤用、システム侵害につながないように設計することが、生成AIセキュリティの核心です。
コメントを残す