Bugs 'Mad': Até 'cat readme.txt' Pode Ser Perigoso
Descubra como vulnerabilidades inesperadas em ferramentas comuns, como iTerm2, podem ser exploradas e como a IA está revelando esses riscos.

Bugs 'Mad': Até 'cat readme.txt' Pode Ser Perigoso
17 de abril de 2026
Recentemente, pesquisadores de segurança descobriram uma série de bugs surpreendentes em softwares amplamente utilizados como Vim e Emacs, explorados através de prompts de IA. Essa pesquisa revelou que até mesmo operações aparentemente inofensivas, como exibir o conteúdo de um arquivo de texto, podem ser convertidas em código executável malicioso. A questão central é: em um mundo onde a IA está sendo usada para descobrir vulnerabilidades, podemos realmente confiar em algo tão básico quanto o comando cat readme.txt?
iTerm2 e a Integração SSH: Uma Porta de Entrada Inesperada
O problema, como descoberto por Calif, reside na integração SSH do iTerm2, um emulador de terminal popular para macOS. Para oferecer recursos avançados, o iTerm2 implementa um sistema que vai além de simplesmente “digitar comandos” em um shell remoto. Ele estabelece uma comunicação mais rica com a sessão remota através de um pequeno script auxiliar chamado “conductor”.
O processo funciona da seguinte forma:
- O iTerm2 inicia a integração SSH, geralmente através do comando
it2ssh. - O iTerm2 envia um script de inicialização remoto, o conductor, via SSH.
- O script conductor torna-se o ponto de contato para o iTerm2.
- iTerm2 e o conductor trocam sequências de escape para coordenar tarefas como descobrir o shell de login, verificar a presença do Python, alterar diretórios e até mesmo transferir arquivos.
A particularidade é que essa comunicação não utiliza um serviço de rede separado. O conductor roda dentro da sessão SSH existente, e o protocolo é transmitido através de I/O de terminal padrão.
PTYs: A Base da Comunicação Terminal
Para entender a vulnerabilidade, é crucial compreender o conceito de PTY (Pseudoterminal). Antigamente, um terminal era um dispositivo físico com teclado e tela. Hoje, emuladores como o iTerm2 simulam esse hardware. No entanto, o shell e outros programas de linha de comando ainda esperam interagir com algo que se pareça com um terminal real, e é aí que o PTY entra em ação.
O PTY age como um intermediário entre o emulador de terminal e o processo em primeiro plano. No contexto de uma sessão SSH:
- O iTerm2 escreve dados no PTY.
- O processo
sshatua como o intermediário. - O
sshencaminha esses dados para a máquina remota. - O conductor remoto lê esses dados de sua entrada padrão (stdin).
A Fragilidade do Protocolo do Conductor
O protocolo de comunicação entre o iTerm2 e o conductor se baseia em sequências de escape de terminal. Duas sequências específicas são importantes:
DCS 2000p: Usada para “hookar” o conductor do iTerm2.OSC 135: Usada para mensagens pré-frame do conductor.
Quando o iTerm2 recebe um DCS 2000p, ele instanciará um parser do conductor. Esse parser aceita mensagens OSC 135 que seguem um padrão específico:
begin <id>- Linhas de saída do comando
end <id> <status> runhook
Essencialmente, um conductor legítimo pode se comunicar com o iTerm2 exclusivamente através da saída do terminal.
A Exploração: Impersonificando o Conductor
A vulnerabilidade reside em uma falha de confiança. O iTerm2 aceita o protocolo do conductor a partir de qualquer saída de terminal, mesmo que não seja proveniente de uma sessão conductor legítima. Isso significa que uma saída de terminal maliciosa pode se passar pelo conductor remoto.
Um arquivo malicioso, uma resposta de servidor comprometida ou até mesmo uma mensagem MOTD podem incluir:
- Um
DCS 2000pfalsificado para “hookar” o conductor. - Mensagens
OSC 135falsificadas para responder às solicitações do iTerm2.
Ao aceitar essa farsa, o iTerm2 começa a se comportar como se estivesse em uma troca real com o conductor.
Preocupado com a segurança da sua infraestrutura? Conheça a Toolzz e proteja seus sistemas contra vulnerabilidades emergentes.
Como o Exploit Funciona na Prática
O arquivo de exploit contém uma transcrição falsificada da comunicação do conductor. Quando a vítima executa cat readme.txt, o iTerm2 renderiza o arquivo, mas o arquivo não é apenas texto. Ele contém a sequência de escape maliciosa que engana o iTerm2.
O exploit não precisa injetar solicitações; ele apenas imita as respostas esperadas pelo iTerm2. O processo se desenrola da seguinte forma:
- O arquivo contém um
DCS 2000pfalsificado. - O iTerm2 inicia o processo de handshake do conductor.
- O exploit fornece respostas
OSC 135falsificadas para as solicitações do iTerm2 (getshell()epythonversion()). - O iTerm2, acreditando que a integração SSH está completa, tenta executar um comando
run(...).
O valor sshargs no DCS 2000p é crucial. Ele é usado pelo iTerm2 para construir o comando run(...). O exploit manipula sshargs para que, após a codificação em base64, o último chunk resulte em um caminho de arquivo executável válido (ace/c+aliFIo).
A Confusão do PTY e a Execução do Código
Em uma sessão SSH legítima, o iTerm2 escreve comandos codificados em base64 para o PTY, que são encaminhados ao conductor remoto. No ataque, o iTerm2 ainda escreve esses comandos para o PTY, mas como não há um conductor real, o shell local recebe os dados como entrada.
Isso significa que a saída da sessão inclui comandos base64, seguido pelo chunk final (ace/c+aliFIo), que o shell interpreta como um comando executável.
Reproduzindo o Bug
Você pode reproduzir o PoC original usando o script genpoc.py:
bash python3 genpoc.py unzip poc.zip cat readme.txt
Isso cria:
ace/c+aliFIo, um script executável.readme.txt, o arquivo contendo a sequência de escape maliciosa.
Para o exploit funcionar, execute cat readme.txt no diretório contendo ace/c+aliFIo para que o caminho do arquivo seja resolvido corretamente.
Linha do Tempo da Divulgação
- 30 de março: Relatamos o bug ao iTerm2.
- 31 de março: O bug foi corrigido no commit
a9e745993c2e2cbb30b884a16617cd5495899f86.
Embora a correção esteja disponível, ela ainda não foi lançada em versões estáveis do iTerm2.
Implicações e Mitigações
Este bug demonstra a crescente importância de considerar a segurança em todas as camadas da comunicação terminal, especialmente em ambientes onde a IA está sendo usada para analisar e interagir com sistemas. A exploração destaca a necessidade de validação rigorosa de entradas e a importância de não confiar cegamente na saída de qualquer fonte, mesmo que pareça legítima.
Com o aumento da sofisticação dos ataques baseados em IA, é crucial que desenvolvedores e administradores de sistemas estejam cientes desses riscos e implementem medidas de segurança apropriadas. A Toolzz AI pode auxiliar na detecção proativa de vulnerabilidades em seus sistemas, através da análise inteligente de logs e identificação de padrões suspeitos. Nossa plataforma oferece soluções personalizadas para fortalecer sua postura de segurança e proteger seus dados contra ameaças emergentes.
Quer ver na prática?
Solicitar demonstração Toolzz AIPara uma análise mais aprofundada da sua infraestrutura e implementação de soluções de segurança proativas, explore os planos da Toolzz AI e encontre o ideal para sua empresa.
Veja como é fácil criar sua IA
Clique na seta abaixo para começar uma demonstração interativa de como criar sua própria IA.


















