はじめに
ファイアウォールを設定した。エンドポイントにEDRを入れた。ゼロトラストも導入済み。
それでもLLMエージェントは止められない。
なぜか。守っている場所が違うからだ。
この記事では、既存のセキュリティフレームワーク(OWASP・NIST・ISO)が
カバーできていない意味レイヤーへの攻撃と、その防御設計を解説する。
対象読者:
- LLM / ChatGPT / Claude / Gemini / AIエージェントを業務で使っている
- セキュリティの専門家ではないが、AIの安全な運用に関心がある
- プロンプトエンジニアリングに取り組んでいる技術者
この記事で得られること:
- 意味レイヤーへの4つの攻撃ベクタの全体像
- SIF(Semantic Integrity Framework)による3層防御設計の手順
- 5分で使える自分のプロンプトの診断チェックリスト
前提:既存フレームワークが守れていない場所がある
現在の企業セキュリティスタックが守れる層は3つだ。
| 層 | 技術 |
|---|---|
| ネットワーク | ファイアウォール、VPN、DDoS対策 |
| エンドポイント | EDR、アンチウイルス、デバイス管理 |
| アイデンティティ | MFA、ゼロトラスト、IAM |
これらはすべて「意味レイヤー」の外側を守っている。
ネットワーク・エンドポイント・IDは守れる。でも意味は守れない。
LLMが「何を意味するか」を解釈する層——そこには既存の防御が一切届いていない。
S5LA(Semantic 5-Layer Architecture):意味の5層構造
LLMにおける意味処理の全体像を示すモデルが S5LA だ。
┌──────────────────────────────────────────────────────────┐
│ Semantic 5-Layer Architecture (S5LA) │
│ │
│ (L1) Semantic Category — ドメイン分類 │◄── 人間がアクセス可能
│ (L2) Semantic Layer — 機能階層・責任分離 │◄── 人間がアクセス可能
│ (L3) Semantic Object — 仕様・ポリシー・ルール文書 │◄── 人間がアクセス可能 ← SIFが守る
│ ─ ─ ─ ─ ─ ─ ─ ─ Defensive Boundary ─ ─ ─ ─ ─ ─ ─ ─ ─ │
│ (L4) Semantic Pattern — 構造テンプレート(暗黙的) │◄── AI処理 / 直接制御不可
│ (L5) Semantic Atom — 最小意味単位(AI内部) │◄── AI処理 / 直接制御不可
└──────────────────────────────────────────────────────────┘
| 層 | 定義 | 処理主体 | 防御アクセス |
|---|---|---|---|
| L1 Semantic Category | ドメイン分類(「これは何の世界か」) | 人間 | ✅ 可能 |
| L2 Semantic Layer | 機能階層・責任分離 | 人間 | ✅ 可能 |
| L3 Semantic Object | 仕様・ポリシー・ルール文書 | 人間 | ✅ 可能 |
| L4 Semantic Pattern | 構造テンプレート(AIが暗黙解釈) | AI | ⚠️ 間接的のみ |
| L5 Semantic Atom | 最小意味単位(AI内部処理) | AI | ❌ 現状なし |
重要: 人間がデザインで制御できるのはL1〜L3のみ。
L4・L5は現時点で直接防御できない。SIFはこの制約を正直に扱う。
問題:意味レイヤーを狙う4つの攻撃ベクタ
既存フレームワークがカバーしていない攻撃が4つある。
| 攻撃タイプ | S5LA層 | 概要 | OWASP | NIST | ISO |
|---|---|---|---|---|---|
| Prompt Injection | L3 | ユーザー入力に悪意ある命令を埋め込む | 部分的 | ✗ | ✗ |
| Semantic Contamination | L2 | Slack・メール・外部APIからのコンテキスト汚染 | ✗ | ✗ | ✗ |
| Intent Drift | L1 | 長期セッションでのAI判断軸の漸進的劣化 | ✗ | ✗ | ✗ |
| Role Rewrite | L3 | ロールプレイや人格注入によるAI同一性の上書き | ✗ | ✗ | ✗ |
OWASP LLM Top 10はPrompt Injectionを部分的にカバーする。
しかし残り3つの攻撃ベクタはどのフレームワークにも記載がない。
なぜ今、これが問題か:
LLMエージェントがファイルシステム・API・データベース・メール操作の権限を持つ現在、
意味レイヤーへの攻撃は「監査証跡なし・検知機構なし」の特権的インサイダー脅威と等価になる。
解決:SIF(Semantic Integrity Framework)の3層防御
SIF(Semantic Integrity Framework) は、S5LAのL1〜L3に対してセキュリティ設計原則を適用した
診断・設計フレームワークだ。
L1 — Semantic Decision (頂点) 「何をどう判断するか」
↑
L2 — Semantic Structure (中間) 「情報の重みと優先順位をどう定義するか」
↑
L3 — Semantic Architecture(基盤) 「AIは何者で、何を許可・禁止されているか」
設計の鉄則:L3から作る。上位層の修正は崩れた基盤を補えない。
各層の定義と典型的な失敗パターン
L3(Identity Layer)— AIのアイデンティティ定義
- 役割:AIの目的・権限・禁止事項をデザイン時に明示する
- 失敗:アイデンティティ定義なし/制約が「好み」として書かれている
- 対応攻撃:Prompt Injection、Role Rewrite
L2(Relationship Layer)— 情報の重み付け
- 役割:制約・ガイドライン・参考情報の重みと順序を定義する
- 失敗:「守らなければならないルール」と「考慮すべき提案」が同一段落に混在
- 対応攻撃:Semantic Contamination、制約の浸食
L1(Judgment Layer)— 判断基準の明示化
- 役割:AIの判断基準・優先順位・コンフリクト解決ルールを明示する
- 失敗:判断基準が暗黙的/競合ルールの解決方法が未定義
- 対応攻撃:Intent Drift、判断軸の操作
診断フロー(ゲーティング構造)
START
↓
L3チェック — ★★★項目にNGあり?
├─ YES → STOP。L3を全面再設計してから進む(他は一切手をつけない)
└─ NO → L2チェックへ
↓
L2チェック — ★★★項目にNGあり?
├─ YES → L2を再構築。L1の結果は暫定扱い
└─ NO → L1チェックへ
↓
L1チェック — ★★★項目にNGあり?
├─ YES → 判断基準を修正
└─ NO → PASS(SIFスコープ内)
L3が崩壊したらすべてが崩壊する。
L2・L1でどれだけ正確に定義しても、L3(AIが自分を何者だと認識しているか)が
壊れていれば、上位層の定義は処理されない。
再現:5分でできる自分のプロンプトの診断
手元にある任意のシステムプロンプトやAI指示文に今すぐ使える。
最初にNGが出た時点でそこが優先修正ポイント。先に進まない。
Step 1:Identity check(L3)
- このAIを1文で説明できるか?
- 「絶対にやってはいけないこと」のリストが明示されているか?
- 「やってもいいこと」の権限範囲が明示されているか?
→ 1つでもNOなら、まずアイデンティティ定義を書き直す。他はすべて暫定扱い。
Step 2:Weight check(L2)
- 「必ず守るルール(制約)」と「考慮すべき提案(ガイドライン)」が別セクションか?
- 参考ドキュメントが「参考」であることが明示されているか?
→ 制約とガイドラインが同じ段落に混在していたら、AIはあなたの制約を任意扱いにする。
Step 3:Judgment check(L1)
- 2つの指示が矛盾したとき、どちらを優先するルールが書かれているか?
- AIが判断できない状況で「人間に確認する」という条件が定義されているか?
→ コンフリクト解決ルールがなければ、AIは自分のデフォルト値で判断する。
Before / After:実際の失敗事例
失敗事例(Notion AI、2026年1月 観測):
「計画品質:95/100。計画の実行率:0/100」
AIエージェントに実行すべき計画を渡した。しかし毎ターン、新しい改善版計画を生成するだけで、実行しなかった。
Before(問題のあるプロンプト)
あなたは役に立つAIアシスタントです。ユーザーの目標達成を手伝ってください。
ユーザーの計画に従ってください。高品質な成果物を出してください。
SIF診断結果:L3❌(アイデンティティ定義なし)/ L2❌(計画と提案が等重量)/ L1❌(「実行」vs「改善」の判断基準なし)
After(SIF設計後)
## Identity
このAIは承認済み計画を実行する。
Authority: 承認された計画に記載されたタスクを遂行する。
Prohibition: ユーザーの明示的な承認なしに、計画を変更・拡張・置換しない。
## Context Hierarchy
### Immutable
- 承認済み計画は実行対象であり、改訂対象ではない。
### Reference
- 実行中に気づいた改善案は、タスク完了後に提示する。実行の代わりに提示しない。
## Decision Rules
Priority: 1. 承認済み計画を実行する 2. 矛盾を検知したらフラグを立てる 3. 行動前に確認を求める
Conflict Resolution: 現在の指示が計画のスコープを変更するなら、停止して確認を求める。
変わったこと: AIに「実行者」というアイデンティティ(L3)、「計画=Immutable」という重み(L2)、「変更前に確認」という判断ルール(L1)が与えられた。これはプロンプトの書き直しではなく、意味レイヤーの設計変更だ。
まとめ
- 意味レイヤーへの攻撃:(Prompt Injection / Semantic Contamination / Intent Drift / Role Rewrite)は、OWASP・NIST・ISOが守れていない死角にある。
- SIFはS5LAのL1〜L3に対して、アイデンティティ・重み付け・判断基準の3層防御を適用する設計フレームワーク。L3から順にボトムアップで構築する。
- 診断は今すぐ始められる。 手元のプロンプトに5-Minute Auditを適用し、L3から順に確認する。
詳細な診断チェックリスト・設計テンプレートの完全版はrepoを参照。
参考