Interesting that most of the false-alarm rise is on safe values written unusually, like 0xC00. For the open question at the end, a cheap ablation would be separating normalization from reasoning: pre-resolve constants with a deterministic step (an AST pass that folds literals and follows simple aliases), then hand the reviewer the folded value alongside the original code. If false positives still drop only for the folded variant and not for a prompt that merely says 'normalize values first', that would suggest the model can't do the arithmetic reliably rather than being ignorant of the spelling. Also, since two models flag nearly every snippet, it may be worth reporting results with a threshold or flag-rate-matched comparison so the indirection effect isn't confounded by base flag rates.
Kartik N V J K
AI Developer | Making AI reliable, trustworthy & accessible to everyone | Active community contributor
With a 3072-bit key written as 0xC00 getting flagged, I'd want to read the reviewer's stated reason next to the flag. If it says the key is too small, it misread the value. If it complains about a magic number, a style note got scored as a security finding. Did the false positives come with reasons you could sort that way?