CNRT CodeLens
Most scanners hand back a list too long to work through and too noisy to trust. CodeLens is built around the two things that actually make a finding useful: checking its own work, and stopping short of changing your code without being asked.
size_t need = hdr->len + sizeof(tag_t); if (need > cap) { cap = need; } memcpy(buf, hdr->body, hdr->len); buf[hdr->len] = 0; return finalize(buf, need);}Unchecked bounds on copy path
Length comes from the caller and is used to write before it is compared against the destination size.
A second model checks what the first one found
Detection and verification are separate stages by design. The first pass reads the repository through several different lenses; a later stage takes each candidate finding and asks a different model whether it actually holds. What reaches you has survived being argued with, which is what makes a short list worth reading.
A crash costs you one stage, not the whole scan
A full pass over a large repository is long-running work, and long-running work fails. CodeLens checkpoints after each stage, so an interrupted scan picks up where it stopped rather than starting from nothing. On a large codebase that is the difference between a re-run and a lost afternoon.
It does not touch your code unless you ask
Detection runs first and stops. Remediation is a separate, deliberate step you choose to take, per finding. Plenty of tools will open pull requests against your repository on their own; this one reports, and waits. Findings export as Markdown or PDF so they can go into a review or a report as they are.
The record behind it.
Developed out of a U.S. Navy programme on source-code vulnerability detection, with Lockheed Martin and the University of Wisconsin-Madison.
| Origin | U.S. Navy programme on source-code vulnerability detection |
|---|---|
| Partners | Lockheed Martin · University of Wisconsin-Madison |
| Verification | Separate model pass over candidate findings |
| Recovery | Checkpoint and resume between stages |
| Output | Markdown and PDF |
| Languages | English and Japanese |
Tell us the program
and the problem.
We reply from San Jose, usually within two working days.