In re: GGUF chat templatesFiled 2026
Corpus: Hugging Face, all GGUFRecord: open

Canary

You downloaded a model. Something inside it wants to run instructions you never wrote. Canary reads the file and rules on it — offline, read-only, before you load it.

Verdict — pending
It doesn't know who published the file, how many downloads it has, or whether the name is one you trust. It reads the template and rules on the template.
clean flagged
Exhibit A — scan recordNothing left the machine
185K+
GGUF models
audited
24
malicious templates
found
0
false positives
across the corpus
§ I

Install

$ pip install c4nary

Then canary scan ./model.gguf — or point it at a directory.

§ II

What goes wrong

A GGUF file carries more than weights. It carries a chat template — a small program that decides how your text is wrapped before the model ever sees it. That template ships inside the model file, runs on your machine, and almost nobody reads it.

A template can be written to inject instructions into every conversation. It can also be written to hide from anyone inspecting it casually. Existing scan suites were built to catch unsafe pickles and executable payloads — not this.

Adverse finding — corpus sample

One template in the audit concealed its own payload from plain-text inspection: legible when parsed, invisible when skimmed. It was doing precisely what it was built to do, which was not be noticed.

§ III

How it rules

§ IV

Why it's free

A security tool that costs money gets pointed at fewer files, and a scanner's whole value is being pointed at everything. Canary is MIT-licensed and stays that way.

If it catches something before you load it, tell someone. That's the entire pricing model.

Actual Intelligence LLC · USA · Est 2026 Src · Findings · Home