−25%

Windows 年払い、10月31日まで。 プランを見る

EQVPS

VPS でセルフホストする AI エージェントを安全にする

2026年9月26日 · 1 分で読める · EQVPS Team

従来の Web アプリはコードに書かれたとおりに動きます。AI エージェントはコードに書かれたことに加えて、読んだ文章に説得されたことを何でも実行します。シェルと API キーと予算を与えてオープンなインターネットに放てば、新しいものを作ったことになります。ソーシャルエンジニアリングで操れるプロセスです。対策は被害妄想ではなく、最小権限という昔ながらのシステム管理者の習慣を、とてもおしゃべりなプログラムに適用することです。

本当の脅威を知る

以下のすべては、これらを起こりにくくするか、起きたときの代償を小さくするためのものです。

1. エージェントに専用のマシンと専用のユーザーを

コードを実行したり Web を閲覧したりするエージェントは、本番データベースの隣ではなく、別の VPS で動かします。そのマシンでも決して root では動かしません。

adduser --disabled-password --gecos "" agent
mkdir -p /home/agent/work && chown agent:agent /home/agent/work

sudo なし、ほかのサーバーへの SSH 鍵なし、不要なものへのアクセスなし。

2. systemd でサンドボックス化する

systemd ならコンテナなしでプロセスを囲い込めます。エージェントはシステムを読めますが、書き込めるのは作業ディレクトリだけです。

# /etc/systemd/system/agent.service
[Unit]
Description=AI agent
After=network-online.target

[Service]
User=agent
WorkingDirectory=/home/agent/work
EnvironmentFile=/home/agent/.agent.env
ExecStart=/home/agent/venv/bin/python run_agent.py
Restart=on-failure
NoNewPrivileges=yes
ProtectSystem=strict
ProtectHome=read-only
ReadWritePaths=/home/agent/work
PrivateTmp=yes
PrivateDevices=yes
MemoryMax=2G

[Install]
WantedBy=multi-user.target

ProtectSystem=strict は ReadWritePaths 以外のファイルシステム全体を読み取り専用にします。MemoryMax は暴走した 1 つのタスクがサーバーを落とすのを防ぎます。結果は systemd-analyze security agent で確認してください。ユニットに点数をつけ、まだ開いている部分を一覧にしてくれます。

3. キーは漏れるものとして扱う

4. 購入できるものを制限する

エージェントがお金を使えるなら、上限はエージェントの外側になければなりません。EQVPS では、エージェントは MCP サーバーまたは REST API を通じてアカウントのプリペイド残高からサーバーを注文・更新するので、残高が厳格な上限になります。予算全体ではなく、失ってもよい額だけをチャージしてください。ほかのサーバーを見る必要がないなら、エージェントには専用のアカウントを与えましょう。

5. 取り返しのつかない操作の前に人間を置く

データの削除、送金、main への push、顧客へのメール送信。これらは確認ステップを通します。承認ボタン付きの Telegram メッセージで十分です。読み取り専用のツールは自由に動かし、書き込むツールには少しずつ信頼を積ませます。

6. 出口を絞る(許容できるなら)

外向き通信の許可リストがあれば、秘密の持ち出しはずっと難しくなります。

ufw default deny outgoing
ufw allow out 53          # DNS
ufw allow out 443/tcp     # HTTPS APIs
ufw allow out 80/tcp      # package mirrors
ufw default deny incoming && ufw allow 22/tcp && ufw enable

正直に言えば、これは多くの人がやめてしまう手順です。Web を閲覧するエージェントは任意の HTTPS を必要とし、そうなるとポート単位の許可リストはあまり役に立ちません。決まった API だけを呼ぶエージェントなら価値があります。

7. ログと戻り道を確保する

すべてのツール呼び出しを引数付きで記録します。エージェントを新しいことに放つ前にスナップショットを取りましょう。Managed Backups は毎日の復元ポイントに加えて任意のスナップショットを提供するので、ひどい午後になっても作り直しではなく復元で済みます。

正直な結論

これらのどれも、エージェントを盲目的に信頼できるほど安全にはしません。代わりに間違えても安く済むようにします。専用マシンで専用ユーザーとして動き、残高に上限があり、キーの権限が絞られた侵害済みのエージェントは、小さく回復可能な被害しか与えられません。それが現実的な目標です。まず新しい VPS を安全にするの基本から始め、そのうえで上記のエージェント固有の層を加えてください。

FAQ

サーバーで AI エージェントを動かす最大のリスクは?

プロンプトインジェクションです。エージェントが自分で書いていない文章(Web ページ、メール、issue のコメント)を読み、その文章があなたが頼んでもいないこと、たとえば環境変数を出力する、コマンドを実行するといったことを指示します。このガイドのほかの部分はすべて、それが起きたときの被害を抑えるためのものです。

エージェントを root で動かすべきですか?

決して動かさないでください。sudo のない非特権の専用ユーザーを与え、systemd のサンドボックスで書き込める場所を制限します。だまされて破壊的なコマンドを実行しても、損なえるのは自分の作業ディレクトリだけになります。

エージェントの使いすぎを防ぐには?

エージェントの外側にある厳格な上限を使います。モデルプロバイダーのキーには支出上限を、エージェントが購入できるものにはプリペイド残高を。EQVPS ではエージェントはアカウント残高から支払うので、残高そのものが上限になります。失ってもよい額だけをチャージし、それ以上は入れないでください。

プロンプトインジェクションは完全に防げますか?

防げません。現時点で信頼できるフィルターはありません。効果があるのは被害範囲を狭めることです。最小権限のツール、破壊的または有料の操作には人間の承認、エージェントのコンテキストに秘密を置かない、そして見直せるログ。

エージェント専用の VPS を用意する価値はありますか?

エージェントがコードを実行したり Web を閲覧したりするなら、あります。小さな専用マシンなら、データベース、ほかのプロジェクト、認証情報から隔離できます。侵害されても作り直すのはサーバー 1 台だけで、環境全体ではありません。

← ブログに戻るプランと価格を見る →

コメント

まだコメントはありません。最初になりましょう。

コメントを残す

コメントは表示される前にモデレートされます。