
判定をやめて、安全な場所を用意するという提案
シリーズ「AIが作る時代のセキュア設計」第4回
前回までのお話

このシリーズで見てきた危険は一つです。非エンジニアが AI で作ったものが、本人の意図しないまま外に出てしまうこと。その止め方として、AI が自発的にしてくれるセキュリティ上の注意は揺らぐこと(第1回1)、組織の設定で機能ごと禁止すれば確実に止められるが、正しい使い方まで巻き添えになること(第2回2)、中身を見る「検問」を差し込めば巻き添えは減らせるが、「何が危ないか」の見分けは完璧にならず、ブラッシュアップし続ける消耗戦が残ること(第3回3)を確かめてきました。
検問は「門」でした。門を賢くしても、危ないかどうかをその都度判定する前提は変わりません。前回の最後に書いたもう一つの道——そもそも何をやっても安全な場所を用意して、その中では思いきり自由にやらせる。検問が門なら、こちらは壁で囲われた「部屋」です。今回は、この部屋の話をします。
提案:「門」ではなく「部屋」

発想を変えます。「何が危ないか」を定義し続けるのをやめて、何をやっても外に影響が出ない場所を用意する、という考え方です。
このシリーズで使ってきた例えで言えばこうなります。ハサミを取り上げる(第2回)、何を切ろうとしているかを見張る(第3回)ときて、今回は自由に切り貼りできる部屋を用意する。部屋の中では、もう「危ない切り方かどうか」を判定する必要がありません。何が起きても、影響は部屋の外に出ないからです。
部屋のいいところは、判定と違って揺らがないことです。第1回で見たとおり、AI の注意喚起は同じ質問でも答えが変わりました。第3回では、AI に検問をやらせたら、同じ内容への判定が「止める」4回・「通す」1回に割れました。判定は確率的に揺らぎます。部屋は構造なので、揺らぎません。外に届かない部屋では、何度やっても届かない。
仮説:その部屋を欲しがる人は、増えているのではないか

ではその部屋は、誰のためのものでしょうか。
生成 AI によって、プログラミングを学んだことのない人でも、動くアプリケーションを作れるようになりました。それも、画面だけの簡単なものではなく、Web 画面があり、その裏で処理をするサーバがあり、データを保存するデータベースがある——業務システムと同じ構成のものまで、AI との会話だけで作れてしまいます。
ところが、作れたのに、動かす場所がないのです。AI チャットには作ったものを Web ページとして公開する機能があり、非エンジニア向けに、データベース込みでアプリを公開できるサービスも増えてきました。ただ、いずれも成果物とデータを社外のサービスに預けることが前提です。かといって、サーバを借りて自分で構築するのは、非エンジニアには敷居が高すぎます。作る力だけが先に民主化されて、手元で完結したまま動かす場所が追いついていない。
だとすると、AI に作ってもらったものをそのまま持ち込むだけで、自由に、かつ安全に動かせる部屋が欲しくなるのではないか。これが今回の仮説です。「安全に」を部屋の仕切りが受け持ち、「自由に」は部屋の中の話です。
検証:自分の PC の中に作ってみた

この仮説を確かめるには、本当に欲しがる人がいるのか(需要)と、技術的に成立するのか、二つの確認が要ります。今回はまず後者を確かめるために、技術検証として、自分の PC の中で動く実行環境を作ってみました。
できあがったものの使い方は、こうです。
- AI に「タスク管理アプリを作って」と頼み、できあがったファイル一式(ZIP)を受け取る
- その ZIP を、ブラウザの画面からアップロードする
- 数十秒後に URL が発行され、開くとアプリが動いている

利用者の操作はこれだけです。アップロードのあとは、環境側で受付での検査と組み立て(持ち込まれた一式を動かせる状態にする自動準備)が行われ、アプリが動き出します。Web 画面・サーバ処理・データベースの3層構成でも、中身の知識は要りません。タスクを登録すればデータベースに保存され、環境を止めて再開してもデータは残っています。組み立てに失敗したときも、エラーの記録を AI に渡す形式で書き出せるので、貼り付けて直してもらえます。
ここまでの確認は、検証用に作ったサンプルアプリを持ち込んだものです。アップロードは本当に置くだけで、動き出すまでは30秒ほどでした。ただし、日常の道具として使い込んだわけではまだなく、部屋の外側(PC 本体)に触ろうとしたり、さまざまな外部サービスへアクセスしたりするアプリも試していません。
技術的な仕掛けにも触れておきます。安全側の作りは二段です。
受付での検査:アップロードされた一式は、動かす前に検査されます。部屋の外側にある PC 本体(ホスト)への接続を要求する設定や、特別な権限を求める設定が入っていれば、その時点で理由つきで受け入れを断ります。何が問題だったかは画面に表示されるので、AI に伝えて作り直してもらえます。
実行時の仕切り:動き出したアプリは、宣言して明示的に許可した先にしか、通信が届きません。宣言は持ち込む一式に含めるもので、AI に作ってもらえます。宣言がなければ、完全に閉じた部屋で動きます。必要な外部サービスがあるなら、持ち込む一式の中で宣言すれば、その先だけが通ります。どこへ届くかを決めるのは「何を宣言したか」だけなので、この部屋が外とどう繋がっているかは、宣言の一覧を見れば分かります。そして、宣言していない先への通信が遮断された事実は記録に残り、画面から確認できます。「危ないかどうか」を判定した結果ではなく、「許可していないから届かない」という構造の結果なので、ここに揺らぎはありません。

ただし、判定そのものが消えたわけではありません。消えたのは実行のたびに中身を見て決める判定で、残るのは「この宣言でよいか」という、アプリごとに一度・一覧で目に見える判定です。第3回で4対1に割れたのは前者でした。後者は、当たっているかは人の判断次第ですが、実行のたびに揺らぎはしません。
この部屋の限界

今回の検証には、限界もあります。まず、確かめられたのは仮説の後半——技術的に成立するか——だけです。この部屋を欲しがる人が本当にいるのかは、作っただけでは分かりません。そのうえで、作ったものについて言えるのも、次の範囲までです。
- 「届かない」と言い切れるのは、アプリが動き出した後です。その前の組み立ての段階(ライブラリのダウンロードなど)は、仕切りの外で通信します
- 部屋はコンテナ(1台の PC の中に仕切られた実行領域を作る技術)という仕組みで作っており、より強い隔離方式(仮想マシンなど)と比べると、独立した部屋というよりまだ間仕切りに近い水準です
- 通信の許可は「どこへ届くか」の単位です。許可した先へは何でも送れるので、どこを許可するかの判断が安全性を左右します
- 自分の PC の中で本人が使う前提で、ログイン認証のような、他人と一緒に使うための仕組みはありません
ただし、第3回までの限界とは質が違います。検問の限界は、「何が危ないか」の定義が世の中に合わせて変わり続けるため、追いかけるのをやめた時点で守りが古びるものでした。部屋の限界は、いま挙げた4点のように作った時点で決まっています。隔離を実装する土台そのものに、後から見つかる不具合への追随は別に必要ですが、守れる範囲の形は変わりません。守れない場所が最初から分かっていれば、そこを許容するのか、別の手当てを足すのかを、運用を始める前に決めておけます。追いかけ続ける守りと、決めきれる守り。この違いが、判定をやめたことで得られたものです。
どこまで解決して、どこが残ったか

はじめの場面に戻ります。非エンジニアが作ったものを、意図しないまま外に出してしまう——これをどう止めるか。今回、判定をやめて部屋を用意すれば、中は自由、境界だけ管理という形が成立しました。置き場所を先に用意してしまえば、どこに置くかを迷う場面そのものが減ります。
残っているものも、はっきりしています。
- 共有:この部屋は自分の PC の中で本人が使う前提で、作ったものを他の人に使ってもらう仕組みはありません。はじめの場面がまさに「共有したい」だったので、ここが次に解くところです
- 作る過程:部屋が引き受けるのは、作ったものを動かす段階です。作る過程で AI に何を渡すか、AI が成果物を別の場所へ公開してしまわないかは、第2回・第3回の管理の話として残ります
- 宣言の妥当性:判定は消えず、宣言のレビューに移りました。その宣言を書くのも AI です
それでも、こういう部屋が誰にでも手軽に用意されるようになったら——せっかく作れたのに、動かす場所がなくて止まっている人たちにとって、嬉しい変化なのではないかと思っています。まずは私自身がこの部屋の最初の利用者として、試したかったものを持ち込みながら使い込んでいきます。そこで見えた窮屈さや直した点は、また別の形で書きます。
筆者の関心として

部屋を用意しても、そこに持ち込む一式(アプリ本体や構成の宣言)を作るのは生成 AI です。そして、AI がそれを正しく作れるように導く作法は、いまのところエンジニアの側にあります。
コードを書けること自体は、もうエンジニアだけの優位ではなくなり始めています。それでも、動くものの下にある仕組み——ソフトウェアの構造、ネットワーク、仮想化、認証、暗号——を知っていて、どこに仕切りを引けば安全かを設計できることの価値は、むしろ上がっていくはずです。作る力が民主化された分、エンジニアの役割は「代わりに作る」ことから、「安全に動かせる場所と作法を用意して、作る人たちを支える」ことへ動いていく。私はこの変わり目が、AI 時代のセキュリティ設計のいちばん面白いところだと感じています。同じ変わり目に取り組んでいる方がいれば、ぜひ話をしてみたいです。
この検証の限定事項
- 今回の実行環境は技術検証であり、サービスとして提供しているものではありません
- 「部屋の中で動く・未宣言の通信が遮断される・危険な設定が受付で断られる」は、いずれも実機で動作を確認しています(遮断・拒否は記録として観測できます)
- 「AI が作ったものを動かす場所」という問題意識自体は、企業向けの領域(AI が生成したコードを隔離環境で実行する基盤など)で製品化の動きが出始めています。本記事は「世の中に無いものを作った」という話ではなく、この問題を身近な規模で確かめた検証の報告です
- 動作確認は筆者が検証用に用意したサンプルアプリによるものです。非エンジニアが AI に作らせた成果物を持ち込む形での確認はしていません。日常利用での所感もまだ得ておらず、本文に記載の通り、今後筆者自身が使い込みながら確かめていきます
- 第1回「AIは揺らぐ」 https://blog.linkode.co.jp/entry/2026/07/15/155453↩
- 第2回「AIは止められる、けれど」 https://blog.linkode.co.jp/entry/2026/07/27/152331↩
- 第3回「AIは、中身で止める」 https://blog.linkode.co.jp/entry/2026/08/03/173332↩










































