AI hallucinations are infiltrating expert work—and entering the permanent body of knowledge
It was a process that had become routine for Maxim Topaz. The associate professor at Columbia University’s School of Nursing had grown accustomed to having artificial intelligence tools help polish scientific papers for grammar, formatting, and other details. But a few weeks after submitting his latest research, the academic journal he was due to publish in came back with questions about a reference. The AI tool Topaz had used had silently inserted a fabricated source into his work. “I felt deeply embarrassed,” Topaz, who leads a team at Columbia developing AI applications in healthcare, told Fortune. “I’m an AI researcher. I know about hallucinations,” he said. “If this is happening to me, an AI expert, what happens to other people?” That near-miss sent Topaz on an investigation to find out how often experts were getting subtly fooled by AI. The answer, it turns out, is a lot. In a study published earlier this month in The Lancet, Topaz and his colleagues audited nearly 2.5 million biomedical papers and 97 million citations indexed on PubMed Central, the central repository used by clinicians and researchers worldwide. They found more than 4,000 fabricated references buried across nearly 3,000 papers. Not all the references were AI-generated, though Topaz said the steady rise in fake sourcing went “vertical” in 2024, shortly after AI tools in research entered more widespread use. “It’s very reasonable that AI is highly associated with them now,” he said. Over the past three years, the rate of fabricated references in biomedical literature has grown more than 12-fold. In 2023, one in 2,828 papers contained at least one fake reference, a rate that had risen to one in 458 by last year. Over the first seven weeks of 2026, the researchers found, one in 277 papers had at least one non-existent reference. “I’m thinking this is just the tip of the iceberg,” Topaz said. (function(){function e(){window.addEventListener(`message`,function(e){if(e.data[`datawr