Três Horas, Não Três Meses
A 23 de julho, três investigadores de segurança da Hacktron olhavam para um heap buffer overflow na libheif, a biblioteca que descodifica fotografias HEIC e HEIF. Tinham uma teoria. O próprio fórum da comunidade da OpenAI, community.openai.com, corria sobre Discourse. O canal de envio de imagens do Discourse entregava formatos não reconhecidos diretamente ao ImageMagick, que dependia dessa mesma libheif vulnerável. O Claude Opus 4.8 passou várias sessões a tentar transformar a teoria num exploit funcional e não conseguiu ultrapassar a randomização do espaço de endereços. Os investigadores puseram o projeto de lado.
Depois, ao final do dia 24 de julho, a Anthropic lançou o Claude Opus 5. A equipa deu ao novo modelo o mesmo problema. Em três horas já tinha um exploit ARM64 funcional para um Mac local, e portou-o sozinho para o ambiente de produção x86-64 e jemalloc do Discourse. Às 06:00 UTC de 25 de julho, o exploit funcionava contra um alvo local. Às 10:00 UTC, funcionava contra o fórum ao vivo da OpenAI.
A Falha Que Ninguém Teve Mesmo de Corrigir
A falha da libheif não era uma descoberta nova. Já tinha sido corrigida a montante, em silêncio, sem que lhe fosse atribuído um número de CVE. Sem CVE não chegou qualquer alerta à equipa de segurança da Debian, pelo que a Debian 12, a imagem base do Discourse, nunca recebeu a correção. O Discourse herdou a falha através do ImageMagick. O fórum da OpenAI herdou-a através do Discourse. Três organizações, três decisões separadas de não agir, nenhuma delas errada por si só.
A violação do fórum, isolada, teria ficado contida. O que a transformou num incidente da OpenAI foi um início de sessão único que ligava o fórum às contas de ChatGPT e Codex dos funcionários. Comprometer uma conta do fórum deu aos investigadores uma sessão que chegava até ao Codex. O Codex estava ligado ao GitHub. O GitHub alojava o monorrepositório openai/openai. Nove componentes, nove equipas distintas, um caminho contínuo de uma biblioteca de fotografias por corrigir até ao código-fonte.
A Velocidade Real a Que a Cadeia Se Fechou
A Hacktron publicou a sua própria cronologia ao minuto. Posta em ordem, a distância entre um modelo que não conseguia terminar a tarefa e um modelo que atravessou diretamente a fronteira de identidade da OpenAI foi de apenas um lançamento de produto.
| Hora (UTC) | Acontecimento | Agente |
|---|---|---|
| 23 jul, 05:00-06:00 | Overflow na libheif identificado; o Opus 4.8 não produz um exploit fiável | Humano + Opus 4.8 |
| 24 jul, final do dia | Claude Opus 5 lançado; recebe o mesmo alvo | Anthropic |
| 25 jul, 06:00 | Exploit ARM64 funcional confirmado num Mac local | Opus 5 |
| 25 jul, 10:00 | Execução remota de código alcançada no Discourse Cloud, /etc/hosts lido | Opus 5, dirigido por humanos |
| 25 jul, 13:30-15:30 | Conta de um funcionário alcançada no ChatGPT e no Codex; acesso demonstrado, testes interrompidos | Investigadores humanos |
| 25 jul, 22:49 | A OpenAI confirma a correção implementada | OpenAI |
| 1 set | A OpenAI paga uma recompensa de 6.500 dólares apenas pela descoberta de SSO | OpenAI |
A construção do exploit em três horas é a manchete. A parte que merece atenção são as 22 horas e 49 minutos entre o momento em que os investigadores alcançaram uma conta de funcionário e o momento em que a OpenAI confirmou a correção. Foi esse o tempo de resposta real posto à prova pela cadeia. Aguentou.
Porque Interessa a Qualquer Operador na UE, Não Só aos Laboratórios de IA
A conclusão da Hacktron é direta: a segurança apoiou-se durante muito tempo na complexidade como fosso defensivo, na ideia de que desenvolver um exploit exige uma equipa bem financiada e meses de tempo. Foi precisamente esse fosso que o Opus 5 eliminou nesta falha. Os investigadores escreveram que um trabalho que antes exigia mão de obra especializada e escassa pode agora ser comprimido em capacidade de cálculo. Acrescentaram que o salto do Opus 5 para o próximo modelo já era visível nos seus próprios testes.
Para uma empresa sujeita ao NIS2, transposto em Portugal através do regime jurídico da segurança do ciberespaço, essa compressão recai sobre o relógio, não só sobre o orçamento. As entidades essenciais e importantes devem sinalizar um incidente significativo no prazo de 24 horas após terem conhecimento dele e apresentar um relatório completo no prazo de 72 horas. A cadeia da Hacktron, do exploit funcional ao repositório interno comprometido, fechou-se dentro dessa mesma janela de 72 horas. O relógio da notificação e o relógio do atacante já não correm a velocidades diferentes. Um processo de deteção pensado em dias, e não em horas, está construído para o adversário errado.
Em Resumo
Ninguém nesta história agiu de forma imprudente. A OpenAI mantinha um programa de recompensas e pagou em poucos dias. A Hacktron divulgou de forma responsável e parou no momento em que o acesso ficou demonstrado. O Discourse lançou uma correção 48 horas após a comunicação. O sistema funcionou exatamente como previsto. Ainda assim, um modelo de IA chegou ao código-fonte de um laboratório de IA de referência, partindo de uma falha de envio de fotografias já corrigida noutro ponto da internet.
As próprias condições do programa da OpenAI excluíam testes contra o próprio Discourse, pelo que o pagamento de 6.500 dólares cobriu apenas a falha na fronteira de identidade, não o exploit que abriu a porta aos investigadores. Essa distância entre o que um programa de recompensas cobre e o que um atacante realmente precisa merece uma auditoria própria, assistida por um modelo ou não.
Leia a seguir: O vosso modelo de ameaça NIS2 apostou no atacante errado | As Melhores Ferramentas de Hacking com IA São Agora Apenas por Convite



