OpenCode Web: boa ferramenta e um padrão perigoso
Traduzido do inglês. Leia o original em English.
A alternativa melhor?
Faz um tempo que uso o OpenCode e em muita coisa ele encaixa melhor para mim do que o Claude Code. Ele conversa com vários provedores como Ollama e Anthropic, é código aberto e trocar de modelo no meio da tarefa é rápido.
Ele também traz um modo web com opencode web que transforma a CLI num aplicativo de navegador. Isso é prático e ao mesmo tempo é a parte mais arriscada da ferramenta se você não prestar atenção.
O risco
Rodar opencode web sobe um servidor. Se você amarrar em 0.0.0.0 para um notebook da sua rede alcançar você acabou de colocar um endpoint de execução remota de código na interface que aquela máquina tiver.
A interface web executa comandos, edita arquivos e chega numa shell. É para isso que ela existe. Sem autenticação quem achar a porta leva tudo isso.
A exposição
Eu verifiquei se isso já estava acontecendo no mundo real com o FOFA e a consulta title="OpenCode".
Encontrei 32 hosts expostos na hora.
Trinta e dois parece pouco para um buscador e não é. São 32 ambientes de desenvolvimento alcançáveis pela internet aberta. O OpenCode é fácil de personalizar então uma build que muda o título não aparece aqui de jeito nenhum.
Como proteger
O OpenCode traz um jeito de fechar a interface web. Você tem que ligar.
1. Coloque uma senha
Coloque uma senha antes de subir o servidor para ninguém alcançar a interface sem ela.
Rode este comando antes de iniciar o servidor web.
opencode --set-password <your-strong-password>
Você também pode definir a variável de ambiente OPENCODE_SERVER_PASSWORD no lugar.
2. Não exponha para a internet
Não encaminhe a porta para a internet a não ser que tenha uma VPN ou túnel na frente. Mantenha em 127.0.0.1 ou numa rede local que você controla.
Conclusão
Eu recomendo o OpenCode. Uma ferramenta que reescreve seus arquivos e roda sua shell precisa ser tratada como tal.
Coloque a senha antes de iniciar. Essa é a lição inteira.