Habr AI→ original

LLMs falham em unsafe Rust: seis meses de testes revelaram erros críticos

Durante seis meses, o autor fez LLMs escreverem código unsafe Rust em projetos reais e analisou os resultados com Miri. Os modelos erram de forma consistente: a

LLMs falham em unsafe Rust: seis meses de testes revelaram erros críticos
Fonte: Habr AI. Colagem: Hamidun News.
◐ Ouvir artigo

O autor teve LLM escrever código unsafe Rust em projetos em produção por seis meses e verificou cada bloco com Miri e sanitizadores. O resultado foi decepcionante: os modelos cometeram os mesmos erros de forma previsível e consistente.

Sete categorias de erros do LLM em unsafe Rust

Os modelos cometem erros consistentemente nos mesmos locais:

  • Aliasing — violação da regra de referências não sobrepostas
  • Provenance — tentativas de usar ponteiros obtidos incorretamente
  • Layout em alloc/dealloc — incompatibilidade de tamanho/alinhamento durante alocação e desalocação
  • ManuallyDrop — esquecem de chamar drop ou acessam o objeto após drop
  • Corridas em callbacks FFI — condições de corrida ao chamar funções C de threads
  • Manual Send/Sync — implementam incorretamente traits de segurança de threads
  • Memória Uninit — tratam dados não inicializados como inicializados

Por que Miri revelou os problemas

Miri é um interpretador Rust que rastreia comportamento indefinido. Quando LLM gera código com violações sutis à primeira vista (por exemplo, um ponteiro temporário com proveniência incorreta), o compilador regular o ignora, mas Miri o detecta. Sob sanitizadores (AddressSanitizer, ThreadSanitizer), foram descobertos race conditions e use-after-free, que podem não aparecer em testes regulares.

"Cada categoria vem com um exemplo mínimo e uma correção" — o autor

mostra que não são apenas observações, mas padrões de erro reproduzíveis.

O que isso significa

LLMs ainda não estão prontos para escrever unsafe Rust sem supervisão humana. Geram bem sintaxe e lógica geral, mas cometem erros sistematicamente em gerenciamento de memória e multithreading. Para código crítico (software de sistema, bibliotecas de sistema), o unsafe Rust dos modelos deve ser verificado com Miri.

ZK
Hamidun News
Notícias de AI sem ruído. Seleção editorial diária de mais de 400 fontes. Produto de Zhemal Khamidun, Head of AI na Alpina Digital.
O que você acha?
Carregando comentários…