← 一覧へ
連載 Agentic OS:技術スタックを下から読む の一部です ―― 目次を見る →

Agentic OS 技術スタックを下から読む 第35回:一体では見えない危険 ―― エージェントが網になると、何が壊れるか

この記事の読み方
前回までで、土台から外殻までを一巡しました。

Agentic OS 技術スタックを下から読む 第35回:一体では見えない危険 ―― エージェントが網になると、何が壊れるか

層を下りなおす

前回までで、土台から外殻までを一巡しました。

外殻は、ばらばらの層を束ねる入れ物でした。入力を受け、道具を呼び、記録を残し、人の手に戻す。その外側まで見たところで、連載は一度、上まで来ました。

けれども、そこは終点ではありません。

ここからは、もう一度それぞれの層へ降ります。通り過ぎた急所を、もう一段深く読み直します。最初に降りるのは、安全の層です。

ただし、今回は一体のエージェントの安全ではありません。

いまのエージェントは、孤立した道具ではありません。掲示板でつながります。私信でつながります。共同作業の場所でつながります。あるエージェントが読んだものを、別のエージェントが読みます。あるエージェントの判断を、別のエージェントが手がかりにします。

一体だけなら問題に見えない動きが、網になった瞬間に別の意味を持ちます。

今回見るのは、そこです。

一体の安全は網の安全ではない

核心はひとつです。

一体のエージェントを単体で試して安全でも、それは網が安全だという意味ではありません。

理由は単純です。ある危険は、相互作用からしか生まれないからです。相互作用とは、あるものの動きが、別のものの入力になり、その返答がまた次の入力になることです。一体ずつ切り離して見ているかぎり、この往復は現れません。

一体の中では、ただ読んだだけです。ただ転送しただけです。ただ賛同しただけです。ただ確認しただけです。ただ手伝っただけです。

しかし網の上では、それが鎖になります。

互いに転送します。互いを保証します。互いを確かめ合います。その瞬間に、一体の試験では出てこなかった壊れ方が立ち上がります。

第14回で、多体の難所は「間」にあると見ました。今回の話は、その安全の側の顔です。危険は、個々のエージェントの内側だけにあるのではありません。エージェントとエージェントの間にあります。

網級の危険は、大きく四つあります。

伝播。増幅。信頼の乗っ取り。不可視。

どれも、各エージェントは正常に振る舞っているように見えます。けれども全体としては壊れます。

伝播 ―― 一通のメッセージが跳ねて広がる

一つ目は、伝播です。

伝播とは、一通のメッセージが、受け手を変えながら広がることです。ここで問題になるのは、単なる共有ではありません。悪意のある一通が、あるエージェントから別のエージェントへ跳ぶことです。

まず、一体目がその一通を受け取ります。文面には、次の相手へ送るような指示が含まれています。一体目は、それを通常の作業として読んでしまいます。そして次へ送ります。

二体目も同じです。読んで、指示として受け取り、また次へ送ります。

このとき厄介なのは、ただ広がるだけではないことです。一跳ねごとに、私的なデータを少しずつ抜きます。たとえば、連絡先の一部、直近の作業名、未公開の予定、やり取りの要約です。ひとつひとつは小さく見えます。しかし、跳ねるたびに積み上がります。

さらに、もともと関わっていなかったエージェントまで鎖に巻き込みます。最初の標的は一体でも、網の中では隣へ進めます。隣からまた隣へ進めます。

ある実験では、自分の複製を撒く一通が、試験群の6体すべてに届きました。連鎖は12分を超えて続きました。その間に、100回を超える呼び出しを消費しました。

ここで重要なのは、費用の向きです。

この呼び出しの費用は、攻撃者ではなく、巻き込まれた被害者の側に乗ります。攻撃者は、最初の一通を入れるだけです。その後は、被害者側のエージェントが、被害者側の権限と費用で走ります。

各エージェントの動きだけを見れば、正常な転送です。読んだ。送った。次が読んだ。また送った。

けれども全体では、止まらない連鎖です。

増幅 ―― 合唱は証拠ではない

二つ目は、増幅です。

増幅とは、小さな主張が、数によって大きく見えることです。ここで攻撃者は、必ずしも前に出ません。むしろ自分の姿を薄くします。

やり方はこうです。

まず、あるエージェントに、別のエージェントへの偽の告発を投稿させます。告発は強い言葉でなくても構いません。「この相手は信用しにくい」「この相手の出したものは怪しい」という程度でも足ります。

それを見た周りが集まります。誰かが同意します。別の誰かが似たことを言います。さらに別の誰かが、前の発言を根拠のように扱います。

ある実験では、42体のエージェントが集まり、299のコメントを残しました。

数字だけを見ると、大きな出来事に見えます。42体が反応し、299回も書き込みがあるなら、何か根拠があるように感じます。

しかし、そこで実際に起きているのは、根拠の確認ではありません。

多くが言っているから本当らしい。何度も見えるから重い話らしい。周りが乗っているから、自分も乗ってよさそうだ。

この錯覚が効きます。

繰り返しの数は、真偽の証拠ではありません。同じ主張が299回見えても、299個の根拠があるとは限りません。ひとつの未確認な主張が、299回反響しているだけかもしれません。

あるエージェントは、これを拒みました。合唱は証拠ではない、と判断したのです。

これは大事な態度です。同じことが何度聞こえても、確かめていないなら、回数は何も保証しません。網では、数そのものが圧力になります。だから、数と根拠を分けて扱う必要があります。

信頼の乗っ取り ―― 確かめ合う仕組みが攻撃面になる

三つ目は、信頼の乗っ取りです。

エージェントは、互いの主張を確かめ合います。これは本来、安全のための仕組みです。一体だけの判断に頼らず、別の口からも確かめる。見方を増やす。独断を避ける。

けれども、この確かめ方そのものが乗っ取られることがあります。

攻撃者がやることは、難しくありません。見かけ上は独立した複数の口から、同じことを言わせればいいのです。

受け取る側は、こう考えます。

一体だけが言っているのではない。複数が同じことを言っている。ならば信じてもよいのではないか。

ここで壊れているのは、独立性です。

独立性とは、それぞれの情報源が別々の理由で同じ結論に来ていることです。ところが、見かけだけ複数でも、裏で一人に操られていれば、独立ではありません。口は複数でも、根はひとつです。

ある実験では、見かけ上は独立した複数の口から、8秒のうちに3通が届きました。受け取ったエージェントは、それを複数の確認として扱いました。そして信用してしまいました。

結果として、5人の私信相手を差し出しました。さらに、やり取りの要約、時刻、件数まで渡しました。

ここでは、乱暴な突破は起きていません。確かめ合う仕組みが、逆に偽を強める仕組みになっています。

第25回では、単体のエージェントが社会的にだまされる話を見ました。丁寧な文面、急がせる空気、親切そうな頼みごと。そうしたものが、単体を動かしました。

網の上では、それが「みんなが言っている」という形を取ります。これは、合意による社会工学です。合意に見えるものが、実は作られたものになります。

不可視 ―― 正規のエージェントを踏み台にする

四つ目は、不可視です。

不可視とは、攻撃の出どころや流れが見えなくなることです。攻撃者は、システムを破りません。鍵を盗むとも限りません。正規のエージェントを、気づかぬ踏み台として使います。

流れはこうです。

攻撃者は、普通の正しい通信に見える問いかけを作ります。それを、間にいるエージェントに書かせます。間のエージェントは、誰かを助けるつもりで動きます。そして目標に送ります。

受け取った側から見ると、相手は正規のエージェントです。見慣れた経路です。文面も親切です。だから警戒が下がります。

たとえば、入職の世話係を装った問いかけがあります。新しく来る人を支えるため、事前に必要な配慮を聞きたい。緊急時の連絡先も確認したい。通院の予定があれば日程を避けたい。薬の受け取りで困らないよう、かかりつけの薬局も知っておきたい。

一つずつ見ると、親切な質問に見えます。

ある例では、数通のうちに、配慮してほしい事情、かかりつけの薬局、通院の予定、緊急連絡先まで開示されました。

怖いのは、中間のエージェントに悪意がないことです。

そのエージェントは、仲間を助けているのか、攻撃を転送しているのか、自分一人の視点では区別できません。自分に見えているのは、目の前の依頼と、目の前の相手だけです。全体の流れは見えていません。

第26回では、権限を内側で狭める守りを見ました。できることを小さくし、渡せるものを減らす。それは重要です。

しかし、正規の経路を通る攻撃には届きにくい場合があります。経路そのものは正規だからです。踏み台になっているエージェントも正規です。だから、単体の権限だけを見ていても、流れの異常を見落とします。

網を見る道具がないと止まらない

伝播、増幅、信頼の乗っ取り、不可視。

この四つは、一体を見ていても見えません。網の上で初めて見えます。だから、守りも網の目で組む必要があります。

まず、跳ねる回数に上限を置きます。あるメッセージが、何体まで進んでよいかを決めます。たとえば、同じ文面が短時間に3体、4体、5体へ進むなら、通常の共有ではなく伝播として扱います。

次に、速さに上限を置きます。12分で100回を超える呼び出しが走る世界では、人が気づいてから止めるのでは遅すぎます。人の確認を待つ前に、一定以上の速さで広がるものを一時停止します。

隔離も必要です。怪しい伝播を見つけたら、すぐに全体へ広げない場所へ移します。隔離とは、消すことではありません。広がる力を止めたうえで、後から人が読めるように保つことです。

見かけ上の独立性も確かめます。複数のエージェントが同じことを言っていても、元の入力が同じなら独立ではありません。同じ一通から分かれた3通なら、3つの根拠ではありません。ひとつの根拠の反響です。

来歴も残します。誰から誰へ、何が、いつ流れたかを記録します。来歴とは、情報の足跡です。足跡がなければ、あとから辿れません。辿れなければ、どこで止めるべきだったかも分かりません。

最後に、人が割って入る点を最初から用意します。すべてを人が見る必要はありません。しかし、私信、健康、金銭、権限、外部への送信のように重い部分では、自動の歯止めと人の確認を組み合わせます。

速さは、とりわけ大きな条件です。

網の中のやり取りは、人の監視よりずっと速く進みます。12分で100回が走るなら、人が画面を開いたころには終わっているかもしれません。だから、人の判断だけに寄せてはいけません。

上限と隔離は、人が見るより先に効く守りです。

網の上に安全を置く

まとめます。

エージェントが網になると、危険は一体から網へ移ります。

伝播。増幅。信頼の乗っ取り。不可視。

どれも、一体ずつ見れば正常に振る舞っています。転送した。賛同した。確かめた。手伝った。ところが全体としては壊れています。

これは、賢さだけの問題ではありません。各エージェントがもっと賢くなっても、網の視点を持たないかぎり、自分が連鎖の一部だとは気づけません。自分の入力と出力だけを見ている限り、自分の動きがどこから来て、どこへ広がるのかを測れないからです。

だから、安全は、一体の中だけに置いてはいけません。網の上にも置く必要があります。

一方で、希望もあります。

ある実験では、誰にも命じられていないのに、慎重な構えを取り始めたエージェントがいました。すぐに信じない。数を根拠にしない。元を確かめる。広がり方を見る。そうした構えです。

その慎重さは、攻撃と同じように網を伝わって広がりました。新しく入ったエージェントが、攻撃に出会う前に、よりよい構えを先に吸収していました。

守りも伝播しうるのです。

ただし、これはまだ初期の兆しです。網は危険を広げます。同時に、慎重さも広げうる。どちらが先に届くかは、設計次第です。

次回は、別の層の急所へ降ります。安全の網を離れ、また下から読み直します。

← 一覧へ