CounterProof

What we will not claim

Five claims we refuse to make on your behalf.

CounterProof reviews security-critical code with the help of AI models.

AI review is, in practice, not deterministic. Run the same review twice and expect different findings; expect different findings again from a new model generation. In that respect LLM code review behaves more like fuzzing than like a static analyser, and like fuzzing it is never finished (Thomas Dullien, “An age of experimentation”, BlueHat Asia 2026).

Because of that, we refuse the following claims on your behalf.

We do not treat agreement between AI models as proof. Models from different companies often make the same mistake: when two are wrong, they tend to be wrong in the same way (Kim et al., ICML 2025). A shared answer can be a shared error.

We do not let a fluent verdict outrank a test. For custody, settlement, consensus and key-handling code, execution, tests and proofs decide. Model output tells us where to look; it does not tell us what is true.

We label every finding by how it was established. Reproduced means a test run against the unmodified code at a fixed revision. Read means supported by reading that code, without running it. We never present the second as the first.

We do not close a finding by outvoting the reviewer who raised it. A finding closes when its raiser withdraws it or when it is demonstrated against the code.

We do not report “we found nothing” as “there is nothing”. A clean result says what was examined, not what is absent.

← All notes