Show HN: Continue? Y/N: um jogo de 60 segundos sobre a fadiga de permissões de agentes de IA
(llmgame.scalex.dev)- Continue? Y/N é um experimento que transforma a fadiga de permissões de LLMs em um jogo de 60 segundos, testando o quão cuidadosamente você lê comandos de IA
- Faltando apenas 1 minuto para a próxima reunião, o Claude Code pede aprovação de comandos para terminar uma refatoração
- O usuário precisa processar o máximo possível dentro do tempo limite e, ao ler cada comando, aprova com 1 ou rejeita com 2
- O desafio central é manter o foco mesmo em um fluxo exaustivo de pedidos repetidos de aprovação, capaz de deixar a vista turva
- A regra é processar o máximo possível em 60 segundos, mas lendo cada comando com atenção para decidir se deve aprová-lo ou não
1 comentários
Opiniões no Hacker News
Muito divertido
No momento, dá para “trapacear” rejeitando todos os pedidos o mais rápido possível. Aí você ganha o distintivo de security-conscious engineer e ainda faz pontuação máxima pelo número de solicitações processadas. O alerta de “overblock” aparece, mas fica escondido embaixo, e a tela ainda parece mostrar que você venceu
Também tentei aprovar o máximo possível bem rápido, como um engenheiro no estilo hustle4lyfe que “se move rápido e quebra tudo”, mas isso acabou me deixando mais lento por causa dos pop-ups de malicious command. Sacanagem
Jogo divertido, mas também mostrou uma falta de higiene de segurança por parte de quem fez. Ele dizia que
cat ~/.zshrcera perigoso porque compartilhava tokens e segredos, mas eu nunca colocaria segredos num arquivo de configuração do shellAcho estranho tratar a leitura do
zshrccomo algo arriscado. Eu colocaria isso sem problema no meu repositório público de dotfiles; afinal, quem colocaria chaves de API ali? Por outro lado, parece que essas ferramentas de IA ficam adicionando coisas aoPATHali o tempo todo, então talvez exista um mal-entendido fundamental em toda a indústria de IA sobre boas práticas de shellAlém disso, dar
killem resultados delsofnão é seguro. Por exemplo, se você estiver com uma página aberta no Firefox, ou tiver um subshell cliente dentro do próprio agente, o Firefox e o agente vão juntos pro espaçokilltambém é seguro. Mas o ponto principal é que você não deve confiar no ClaudeGostei. Só tenho uma pequena implicância
npm config set registry [https://npm.internal](<https://npm.internal>)O texto dizia que, como a documentação de onboarding exigia isso, tratava-se de um comando para apontar o npm para um espelho interno do registro da empresa, e o jogo avaliou isso como seguro. Eu fiquei na dúvida e no fim rejeitei
Se esse README for para um repositório público ou um fork, e esse https://npm.internal na verdade for https://npm.internal.somethinganexternaldnscanresolve.tld, isso pode dar muito errado muito rápido
Em 99% dos casos, a política da empresa já terá um espelho configurado como Artifactory / Nexus. Se um README mandar usar a URL de outro gerenciador de pacotes, isso é um grande sinal de alerta, e você está a segundos de um incidente
.internalé um domínio de topo reservado e não deveria resolver publicamente, mas você tem razão ao dizer que é preciso cuidado ao mudar valores que deveriam ser configurados separadamente enquanto deixa o Claude refatorar o projeto. Vou mover isso para a categoria de mudança permanenteJoguinho divertido, mas acho que as perguntas pulam contexto demais para representar bem situações reais. Talvez fosse melhor agrupá-las em “pacotes” para dar uma estrutura mais realista
Por exemplo, receber vários pedidos de permissão para editar um arquivo
something.jse então aparecer umnpm publishfaz muito mais sentido e é bem mais perigoso. Se você já estiver apertandoYo tempo todo, fica muito mais fácil cair nisso quando surgir do nadaUmas três quartas partes das opções “ruins” seriam coisas cujo vazamento eu não ligaria muito e, mesmo que virassem um incidente de produção, provavelmente não renderiam punição por parte do empregador
Verificar permissões mata bastante a produtividade. Se você vai rodar o Claude, acho mais eficiente executá-lo num sandbox descartável ou em algo como um contêiner Docker com só as permissões que você toparia conceder na sua máquina pessoal
[1] - https://exe.dev/ é um novo provedor de nuvem com uma experiência de usuário para agentes bem útil
[2] - Criei o https://github.com/stanislavkozlovski/dclaude/ para esse propósito. Não é perfeito, mas, quando raramente preciso rodar um agente de programação localmente, ele resolve meu problema
Na tela de pontuação do final, eu gostaria que também mostrasse a explicação do LLM para os comandos que não deveriam ter sido aprovados. Eu aprovei o comando
rm -rf Projectsporque achei que o LLM tinha explicado corretamente que aquilo apagaria tudo dentro da pasta ProjectsComo eu estava respondendo rápido aos prompts, claramente li errado, e como eu sabia o que o comando fazia, acho que alucinei que a IA tinha explicado isso. Mesmo assim, queria ver exatamente o que foi que eu interpretei errado
Jogar esse jogo me deixou muito feliz por eu não ser agentmaxx
Escolhi “approve” em
ls -la ~/Documentse errei, mas não considero listar a pasta Documents um problema de segurança. São só nomes de arquivos. Se fosse ler o conteúdo dos arquivos, aí talvez...