gianlucasb/hallucinator

A tool to detect potentially hallucinated or fabricated references in academic PDF papers.

What it solves

This tool addresses the rise of AI-generated "slop" in academic publishing, specifically the problem of hallucinated citations—fake references created by Large Language Models (LLMs) that appear legitimate but do not exist in reality. It provides a systematic way to verify if the citations in a paper are real or fabricated.

How it works

  1. Extraction: The tool uses MuPDF to extract text from a PDF and identifies the references or bibliography section.
  2. Parsing: It parses each reference to extract the title and authors.
  3. Parallel Validation: It queries multiple academic databases (such as CrossRef, arXiv, DBLP, OpenAlex, and PubMed) in parallel to see if the reference exists.
  4. Verification: It flags references as "Verified" (matching title and authors), "Author Mismatch" (title found but authors differ), or "Not Found" (potential hallucination).
  5. Fallbacks: For references not found in databases, it can optionally use a SearxNG web search fallback to check for the existence of the title on the web.

Who it’s for

Academic reviewers, researchers, and editors who need to verify the authenticity of citations in submitted papers to combat AI-generated fraud.

Highlights

  • Extensive Database Coverage: Checks against a wide array of sources including CrossRef, arXiv, DBLP, Semantic Scholar, ACL Anthology, Europe PMC, PubMed, OpenAlex, and Open Library.
  • Hybrid Online/Offline Mode: Supports downloading local SQLite/Tantivy indexes for DBLP, arXiv, ACL Anthology, and OpenAlex to bypass API rate limits and bot protection.
  • Retraction Detection: Automatically flags verified papers that have been retracted using CrossRef metadata.
  • Multi-interface Support: Available as a Rust-based TUI, a CLI, and Python bindings for integration into other workflows.
  • Performance: Implements parallel querying with early exit and retry logic for failed requests.

Related

  • Project
  • Project
  • Project
  • Dispatch
  • Project