8 pontos por GN⁺ 2025-10-03 | 1 comentários | Compartilhar no WhatsApp
  • Joshua Rogers encontrou uma grande lista de problemas potenciais na base de código do curl usando seu próprio conjunto de ferramentas baseado em IA
  • A lista inclui não apenas pequenos defeitos de estilo de código, mas também bugs menores e possíveis brechas de segurança
  • A maioria dos problemas encontrados são bugs pequenos, mas 1 ou 2 podem ser falhas de segurança críticas
  • Como são problemas que não haviam sido descobertos antes, o resultado é de fato muito valioso
  • Com base no que foi relatado, 22 correções de bugs já foram concluídas
  • Ainda restam mais que o dobro de issues não verificadas, então a revisão e as correções continuam em andamento
  • Os problemas detalhados foram marcados como "Reported in Joshua's sarif data", e, se houver interesse, é possível verificar esses dados diretamente

1 comentários

 
GN⁺ 2025-10-03
Comentários no Hacker News
  • Isso é o que eu imagino como a forma ideal de um "companheiro de codificação com IA"
    Em vez de escrever ou corrigir o código diretamente, eu quero que ele aponte partes suspeitas no código e onde eu deveria olhar com mais atenção
    Se eu pedir ao Claude para encontrar bugs na minha biblioteca C de 20 mil linhas, ele divide os arquivos e faz grep de certos padrões de código, e no fim só lista meus próprios comentários FIXME (risos)
    Na prática, isso está no nível de um simples script bash e é bem decepcionante
    O ChatGPT é ainda menos útil, só fica repetindo "está tudo ótimo! incrível! toca aqui~"
    Até agora, a análise estática tradicional tem ajudado muito mais a encontrar bugs reais, mas o fato de a análise estática estar limpa não significa que não existam bugs lógicos
    Acho que é exatamente aí que os LLMs deveriam brilhar
    Se for preciso montar um ambiente extremamente customizado para tirar dos LLMs informações mais úteis sobre bugs potenciais, então a utilidade acaba caindo, do mesmo jeito que ferramentas de análise estática que exigem configuração complexa acabam sendo pouco usadas
    • Quase não se discute que muitos programadores gostam de projetar e programar por conta própria, tirando código repetitivo, mas não gostam de fazer revisão de código
      A direção de a IA escrever o código e o programador só revisar parece, de certa forma, um caminho errado
      Claro, eu entendo por que querem vender isso no estilo "o número de linhas de código vai aumentar~"
    • Quando o Claude dá resultados decepcionantes como os mencionados, muitas vezes funciona bem "perguntar ao próprio Claude quais prompts seriam eficazes"
      Por exemplo: "Que prompt eu deveria usar para fazer o Claude Code montar um plano para revisar bugs lógicos de forma eficaz, ignorando comentários como FIXME e TODO?"
      O prompt resultante é longo demais para colocar aqui, mas dá para ver um exemplo publicado em gist
      Com base nisso, também dá para continuar refinando e transformar em um agente
    • O Cursor BugBot se encaixa muito bem nesse papel
      Depois do teste grátis, ele ficou tão popular no nosso time de desenvolvimento que adotamos oficialmente
      Tirando alguns falsos positivos ocasionais, ele é muito útil
      Economiza bastante tempo tanto para quem abre o PR quanto para os revisores
    • Já tive a experiência de perguntar ao Claude: "Há um bug de lentidão na resposta de um endpoint específico, mas não parece ter relação com uso de CPU/memória nem com o banco de dados; qual pode ser a causa?" e, depois de algumas interações, receber pistas para um bug realmente difícil de encontrar
      Houve casos em que consegui resolver um problema que normalmente teria levado horas, graças às pistas recebidas
      Tenho bastante expectativa em relação a esse tipo de uso de IA
    • O GPT-5 bajula muito menos nesse tipo de situação do que os modelos anteriores
      Fiquei um pouco surpreso com essa resposta de "está tudo certo"
      Quando uso no Codex CLI, ele frequentemente levanta dúvidas
      O Gemini 2.5 Pro também é bom nesse ponto
  • Eu realmente não esperava ver um episódio positivo envolvendo curl e IA
    Vale a pena olhar o histórico: link de busca no HN sobre curl+AI
    • Acho realmente admirável que Daniel Stenberg tenha abordado isso com tanta generosidade desta vez, mesmo depois de vários problemas que enfrentou no passado com bug reports de IA
  • O ponto parece ser justamente o fato de ser um "conjunto de ferramentas". Não estão confundindo isso com piloto automático; estão combinando as ferramentas direito e usando como um sistema
    • Imagino que o autor convidado tenha colocado mais detalhes no texto principal blog de referência (menção no Mastodon: link relacionado)
    • É uma pena que a discussão tenha sido reduzida a um enquadramento dicotômico tipo "direção autônoma vs. largar de mão"
      No fim, parece mais correto enxergar isso como a diferença entre quem usa entendendo de fato e quem só programa no embalo do clima
    • O Stenberg descreveu isso como um conjunto de ferramentas, mas eu também queria saber o que pensa o contribuidor que de fato usou as ferramentas
  • Há 55 PRs fechados no repositório do curl mencionando "sarif data", e os PRs citados desta vez são exatamente esse grupo
    Isso contrasta com o passado, quando Daniel Stenberg sofreu com issues de pseudo-segurança malfeitas geradas por IA
    Sobre o HackerOne: "Quem enviar issue lixo gerada por IA vai ser banido na hora. Isso é praticamente um ataque DDoS. Dá vontade até de cobrar pelo tempo desperdiçado"
    Veja também um post do blog do Daniel de janeiro deste ano: The I in LLM stands for Intelligence?
    • Alguns bugs, como o uso de especificador printf incorreto para size_t, podem ser detectados só com as flags de warning do compilador bem configuradas
      Seria bastante útil se a IA aconselhasse algo como "faltam flags importantes de warning do compilador"
      Alguns PRs provavelmente têm a ver com correspondências do dependabot, e se você buscar por "Joshua sarif data" verá uma lista mais específica de PRs link
    • Parece que os modelos usados naquela época evoluíram bastante
      Imagino que isso explique a mudança na impressão de Daniel Stenberg
  • Existem alguns scanners SAST comerciais bons, mas a maioria não é satisfatória
    Há muita defesa da adoção de tecnologia SAST baseada em IA e vários produtos desse tipo já foram lançados, mas a grande maioria ainda fica abaixo das expectativas
    Já é bom quando só decepciona; no pior caso, isso cria uma falsa confiança em uma segurança equivocada, o que é perigoso
    Uma visão crítica sobre scanners SAST baseados em IA e seus fundamentos é apresentada aqui
  • Não foi fácil entender de imediato quais ferramentas de IA especificamente estavam sendo usadas
    Fiquei curioso sobre por que essa estratégia foi mais eficaz desta vez, em uma situação em que várias outras ferramentas antes não tinham encontrado os bugs
    • Dá para encontrar mais informações em um blog com um capítulo sobre o produto
      Pelo link do Mastodon, parece que a ideia era confirmar que, mesmo com snippet de código incorreto, ainda se tratava de um bug real
  • Como questão relacionada, foi apresentado um caso de "fazer algo com IA sem a própria pessoa entender o que está fazendo" You did this with an AI and you do not understand what you're doing here