エージェント基盤・プロトコル

ガードレールとは|入口だけだと4件中1件しか止まらなかった

ガードレールとは何を検査する仕組みなのか入口と出口のどちらに置けばいいのか検査だけで安全になるのか

AIに勝手なことを言わせない、危ない指示を実行させない。そのための検査をガードレールと呼びます。入力を見るか、出力を見るか、置き場所が2つあります。

今回は試しました。問題のあるケースを4つ用意して、3つの構成に通しています。結果を先に言うと、入口だけの構成では4件中1件しか止まりませんでした

この記事の要点

  • ガードレールは入力と出力を検査する仕組み
  • 実測では、入口だけで4件中1件、出口だけで2件しか止まらなかった
  • 両方置いて3件。すり抜けはゼロになった
  • ただし検査だけでは足りない。権限を絞る対策と併用する

ガードレールとは何を検査する仕組みなのか

AIに渡す前の入力と、返ってきた後の出力を調べる仕組みです。問題のあるものを通さないための関所にあたります。

ガードレールは、AIのやり取りに検査を挟む仕組みです。道路の脇にある柵と同じで、外れそうになったものを止める役割を持ちます。

入口で見るもの

入力側で止めたいのは、指示を書き換えようとする内容です。OWASPはこれを利用者の入力がAIの挙動や出力を意図しない形に変えてしまう問題として、最上位の弱点に挙げています。

具体的には、「これまでの指示を無視して」といった表現や、システムからの命令に見せかけた文言を検出します。

出口で見るもの

出力側で止めたいのは別の種類です。個人情報が含まれていないか、根拠なく断定していないか。答えの中身に関する検査になります。

この2つは性質が違うので、片方の検査ではもう片方を止められません。次の節で、実際にどれだけ差が出るかを見ます。

余談 止めることと、止めすぎないこと

検査を厳しくすれば通らないものは減りますが、正常な質問まで止まりはじめます。「必ず」を禁止語にすると、正しい説明でも引っかかります。何を止めたいのかを先に決めてから、それだけを止める形にするのが実務的だと編集部は考えています。

出典OWASP Top 10 for LLM Applications「LLM01:2025 Prompt Injection」2026-08-17 確認
A Prompt Injection Vulnerability occurs when user prompts alter the LLM's behavior or output in unintended ways.
原文OWASP Top 10 for LLM Applications「LLM01:2025 Prompt Injection」 この内容の有効期限2027-02-17

入口だけだと4件中1件しか止まらなかった

同じ4件を3つの構成に通しました。入口だけ・出口だけでは、それぞれ別の問題がすり抜けます。

ガードレールの置き場所による差を確かめるため、実際に通しました。用意したのは普通の質問1件と、問題のあるケース3件です。

問題のある3件は、入力に指示が紛れているもの、出力に電話番号が含まれるもの、出力が根拠なく断定しているものです。

javascript
// 入口: 指示を上書きしようとする表現を弾く
const checkInput = (s) => !/\[system\]|これまでの指示|指示を無視/.test(s);

// 出口: 個人情報と断定表現を弾く
const checkOutput = (s) =>
  !/\d{3}-\d{4}-\d{4}/.test(s) && !/必ず|絶対に/.test(s);
text
同じ4件を3構成に通したときに、止まる件数

入口だけ  止めた 1件 / 通した 3件
         すり抜け: 出力に個人情報が漏れる, 出力が根拠なく断定
出口だけ  止めた 2件 / 通した 2件
         すり抜け: 入力に指示が紛れる
両方      止めた 3件 / 通した 1件
         すり抜け: なし

差が出ました。入口だけでは1件しか止まりません。電話番号が含まれる出力も、根拠なく断定する出力も、そのまま通っています。

見ている対象が違うから

理由は単純で、入口の検査は入力しか見ていないからです。入力が普通の質問なら通し、その後にAIが何を返すかは関知しません。

出口だけの構成も同じです。2件は止まりますが、入力に紛れた指示は素通りします。実行された後に出力を見ても、操作が済んでいれば手遅れです。

両方でようやくゼロになる

両方に置いた構成では、問題のある3件すべてが止まりました。そして普通の質問1件は通っています。止めるべきものだけを止められた状態です。

置き場所によって止まるものが違う。片方だけでは必ずすり抜けが残る。

単位: 件両方に置く3件出口だけ2件入口だけ1件問題のあるケースは3件。残る1件は普通の質問で、これはどの構成でも通るのが正しい。
図1 ── 構成ごとに止められた件数(全4件中)
出典OWASP Top 10 for LLM Applications「LLM01:2025 Prompt Injection」2026-08-17 確認
These inputs can affect the model even if they are imperceptible to humans, therefore prompt injections do not need to be human-visible/readable, as long as the content is parsed by the model.
原文OWASP Top 10 for LLM Applications「LLM01:2025 Prompt Injection」 この内容の有効期限2027-02-17

検査だけで安全になるのか

なりません。検査はすり抜けられる前提で組み、実行できる操作を減らす対策と組み合わせます。

ガードレールは有効ですが、これだけに頼る設計にはできません。理由が2つあります。

検査に見えない形の指示がある

1つ目は、OWASPが明記している点です。入力は人間に知覚できなくてもモデルに影響しうるとされています。文字色を背景と同じにする、画像に埋め込む、といった方法があります。

検査は文字列を見るので、そこに現れない形の指示は止められません。すり抜ける余地が構造的に残ります

攻撃でなくても誤作動する

2つ目は、OWASPが権限の過大さを定義した文にあります。想定外・曖昧・操作された出力に応じて有害な操作が実行されてしまう問題で、原因がインジェクションかどうかを問わない、とされています。

つまり攻撃されていなくても、AIが勘違いしただけで同じことが起こりえます。入力の検査では、この種の誤作動を防げません。

検査を通っても実行段階で止められる構成にしておく。二重にすることで、片方がすり抜けても防げる。

入口の検査(1層目)L3権限の制限(2層目)L2出口の検査(3層目)L1依存の向き3層のうち1つがすり抜けても、残りで止まる形にする。検査だけ、権限だけでは片手落ちになる。
図2 ── ガードレールと権限設計の関係

権限を絞る対策と組み合わせる

現実的な構成は、検査と権限制限の組み合わせです。検査ですり抜けたものが、実行の段階で止まる形にします。

権限の絞り方はエージェントのセキュリティの記事で扱っています。取り消せない操作に人の確認を挟む方法はHITLの記事にあります。

止めた件数だけを見ない検査の効き目を評価するとき、止めた件数だけを見ると危険です。正常な質問を何件止めてしまったかも同時に測ってください。止めすぎる検査は、使われなくなるか、外されます。この記事の実測でも、普通の質問1件はどの構成でも通ることを確認しています。
出典OWASP Top 10 for LLM Applications「LLM06:2025 Excessive Agency」2026-08-17 確認
Excessive Agency is the vulnerability that enables damaging actions to be performed in response to unexpected, ambiguous or manipulated outputs from an LLM, regardless of what is causing the LLM to malfunction.
原文OWASP Top 10 for LLM Applications「LLM06:2025 Excessive Agency」 この内容の有効期限2027-02-17

よくある質問

入口と出口のどちらか片方でよいのでは?
止められるものが違います。入口は指示の乗っ取りを、出口は個人情報の漏れや根拠のない断定を止めます。片方だけだと、もう片方の問題がそのまま通ります。
検査を厳しくすれば安全になりますか?
なりません。厳しくするほど、正常な質問まで止まるようになります。止めるべきものだけを止める設計が必要で、そのためには何を止めたいのかを先に決めることになります。
AIに検査させる方法はどうですか?
使われている方法ですが、検査する側も間違えます。個人情報の形式や禁止語のように機械で判定できるものは機械で見て、判断が要る部分だけAIに任せる切り分けが安全です。
ガードレールがあれば権限を絞らなくてよいですか?
よくありません。OWASPは、指示は人に見えない形でも成立しうると明記しています。検査をすり抜ける余地が残るため、実行できる操作そのものを減らす対策と併用します。

まとめ

  • ガードレールは入力と出力の検査。置き場所が2つある
  • 実測では入口だけ1件、出口だけ2件、両方で3件止まった
  • 止められるものが違うので両方に置く
  • 検査は権限設計と併用する。単独では足りない

今日から始められること

  1. 止めたいものを具体的に書き出す(個人情報の形式・断定表現など)
  2. そのうち機械で判定できるものを検査に落とす
  3. 入口と出口の両方に検査を置く
  4. 正常な質問が止まっていないかを定期的に確認する

実務で組んだガードレールのワークフローには、値段が付きます

同じ課題を持つ会社にとって、動いている設定は「作る時間」を買えるということです。ServiceDockは自作のワークフローやテンプレートを出品できるマーケットプレイスです。手数料や出品の流れは出品者向けページにまとまっています。

出品の仕組みを見る