テック技報最新号へ →
AIコーディング

「localhost からなら認証なし」のエージェントは、リバースプロキシの後ろに置くと全世界に開く

自前で動かす AI エージェントやその管理画面が「127.0.0.1 からの接続は自動で許可」になっていると、同じマシンの nginx や Caddy から転送された外部の通信も localhost から来たように見える。信頼するプロキシを設定しないまま公開すると、誰でも管理画面に入れてしまう。

@nakajimeeee · 投稿 2026-01-27
#ai-coding#セキュリティ#セルフホスト#リバースプロキシ#認証

実際に起きたこと(Clawdbot、2026-01)

  • 研究者が Shodan で管理画面のタイトルを検索し、900 以上の公開ゲートウェイ(ポート 18789)を見つけた。多くは認証なしで、設定ファイル・Anthropic の API キー・Telegram/Slack のトークン・数か月分の会話履歴が読めた
  • 原因は localhost 自動承認。リバースプロキシ経由だと送信元が 127.0.0.1 になり、gateway.trustedProxies が既定で空のため X-Forwarded-For も見られず、チェックを素通りした
  • 一部は root のコンテナで動いており、ホスト上でのコマンド実行まで可能だった

自分のエージェントで確かめること

  1. 管理画面や API にパスワードかトークン認証を必ず付ける(Clawdbot なら gateway.auth.mode: "password")
  2. リバースプロキシを使うなら、信頼するプロキシ(trusted proxies)を設定し、本当の送信元 IP で判定させる
  3. そもそもインターネットに出さない。Tailscale Serve や Cloudflare Tunnel(アクセス制御つき)で、自分だけが届く形にする
  4. 外から curl して認証なしで中身が返らないか確かめる
  5. 漏れた可能性があるなら API キーやボットのトークンを作り直す

注意点

  • 同じ問題は、エージェントに限らず「localhost なら管理者」という作りの開発用サーバー全般で起きる
  • 事件の詳細は報道と研究者の報告によるもの。今の OpenClaw(旧 Clawdbot)の既定値は変わっている可能性がある(ツールは clawdbot security audit --deep での確認を勧めていた)

出典

X の元の投稿を開く