citesure: stop shipping hallucinated citations

2026-07-23 · SybilGambleyyu

In April 2026, Nature reported that tens of thousands of 2025 publications may include invalid references generated by AI. arXiv will ban submitters for a year when a paper shows incontrovertible evidence of unchecked LLM output — including fabricated references. ICLR 2026 audits found roughly one in twenty-nine accepted papers carried at least one likely hallucinated citation.

The hard part is not “use AI less.” Authors already use assistants to fill BibTeX, polish related-work sections, and expand paraphrased cites into full entries. The hard part is a gate that fits real writing workflows: local CLI, CI, structured reports, and repair — not only a one-off web form after the damage is done.

What existing tools leave open

Several good projects check whether a cited work exists (RefChecker, Hallucinator, CheckIfExist, Paperpile’s Citation Checker). Reviewers need those. Authors and automated agents need something slightly different:

What citesure does

citesure is an open-source Python library and CLI that verifies bibliographies against Crossref, doi.org, arXiv, and PubMed (optional Semantic Scholar / OpenAlex), then optionally repairs them.

pip install git+https://github.com/SybilGambleyyu/citesure.git

citesure check refs.bib
citesure check refs.bib -f sarif -o citesure.sarif
citesure fix refs.bib -o refs.fixed.bib

Statuses you get per entry:

Default CI fails on not_found, retracted, and errors. Use --fail-on-mismatch or --strict when you want a tighter gate.

Evidence on a mixed bibliography

Against a fixture with two real papers, one deliberate fabrication, and one entry with a real title but wrong authors/year, the CLI verifies the real works, marks the fabrication not_found, and surfaces the poisoned metadata for repair. Live API tests in the repo exercise the same path on every release candidate.

Try it in the browser

Demo (Cloudflare Worker, same idea as the CLI, polite Crossref/arXiv lookups): citesure.sybilgambleyyu.workers.dev

What it is not

citesure flags suspicion, not guilt. Databases miss books, brand-new preprints, and many non-English venues. A not_found result is a lead for a human to check — never an automatic accusation. Claim-level support is available via citesure claim (lexical abstract/title overlap, plus optional SpaceXAI/xAI judge with --llm). That checks citation relevance, not absolute truth. Existence and metadata integrity remain the primary gate.

What shipped since launch

Links