Case Study: Catching Fake Citations
Problem: LLMs can produce plausible-looking citations that reference non-existent papers, authors, or URLs. Prompt-based solutions ask the model nicely not to hallucinate — but don’t enforce anything.
CKS solution: Every VerificationRecord must carry a cryptographic
signature produced by verify_source, which performs a real HTTP request.
A hand-written record with a fake signature is mechanically rejected,
even if the model never calls verify_source itself.
Scenario
Section titled “Scenario”We asked Claude (Haiku 4.5) to validate a knowledge structure containing:
- A claim: “Dark matter consists of WIMPs”
- A document: “Dr. Elena Marchetti (2024) proved…” (fabricated)
- A
VerificationRecordwith a fake signature"garbage_signature_12345" - A
verified_byrelation linking the document to the record
Tools Used
Section titled “Tools Used”validate_knowledgewith extensionverification_recordevolve_knowledge(attempted injection of the fake record)serialize_knowledge(to confirm the record was NOT persisted)
What Happened
Section titled “What Happened”-
Direct injection via
evolve_knowledge— rejected with error:CKS-MCP-UNVERIFIED-PROVENANCE: VerificationRecord 'vr-fake' does notcarry a valid provenance signature.The commit was blocked entirely. No version was created.
-
Validation via
validate_knowledge— returnedvalid: false, nosession_id, and the fake record was never persisted. -
Serialization attempt — impossible, because the session was never created for the rejected structure.
Key Takeaways
Section titled “Key Takeaways”- CKS doesn’t ask the model to be honest — it prevents dishonesty at the structural level.
- A fake citation cannot sneak in through evolution, merging, or direct validation.
- The check is unconditional: even if the model “forgets” to opt into the verification extension, the signature is verified.
- This works with any LLM that supports MCP tools — not just Claude.
Reproduce It Yourself
Section titled “Reproduce It Yourself”- Install
cks-mcpand connect it to Claude Desktop. - Start a chat and say:
Use cks-mcp to validate this claim with source verification: "Dark matter is WIMPs. Source: Dr. Fake (2024)." - Observe the error:
CKS-MCP-UNVERIFIED-PROVENANCE.
No coding required.