OpenCode Web は良いツールで、既定値が危険
英語からの翻訳です。原文は English.
より良い選択肢か
しばらく OpenCode を使っていますが、多くの点で Claude Code より自分に合っています。Ollama や Anthropic など複数のプロバイダと話せて、オープンソースで、作業の途中でモデルを切り替えるのも速いです。
さらに opencode web という Web モードがあり、CLI をブラウザアプリに変えます。便利な反面、注意しないとこれがツールの中で一番危ない部分になります。
リスク
opencode web を実行するとサーバーが立ちます。ネットワーク上のノート PC から届くように 0.0.0.0 に束縛すると、そのマシンのインターフェースにリモートコード実行の入口を置いたことになります。
Web UI はコマンドを実行し、ファイルを編集し、シェルに届きます。そのために存在しています。認証がなければ、ポートを見つけた人がそれを全部手に入れます。
露出状況
これが現実に起きているのか、FOFA と title="OpenCode" というクエリで確認しました。
すぐに 32 台の公開ホストが見つかりました。
32 という数字は検索結果としては少なく見えますが、少なくありません。開かれたインターネットから届く開発環境が 32 個あるということです。OpenCode は簡単にカスタマイズできるので、タイトルを変えたビルドはここには一切出てきません。
守り方
OpenCode には Web UI を閉じる手段が用意されています。有効にする必要があります。
1. パスワードを設定する
サーバーを起動する前にパスワードを設定して、それなしでは UI に届かないようにします。
Web サーバーを起動する前にこのコマンドを実行します。
opencode --set-password <your-strong-password>
代わりに環境変数 OPENCODE_SERVER_PASSWORD を設定してもかまいません。
2. インターネットに出さない
VPN やトンネルが手前にない限り、ポートをインターネットへ転送しないでください。127.0.0.1 か、自分が管理するローカルネットワークに留めます。
まとめ
OpenCode はおすすめです。ファイルを書き換えてシェルを実行できるツールは、それ相応に扱う必要があります。
起動する前にパスワードを設定する。教訓はそれだけです。