Developer's SQL scanner missed 4 of 5 real CVEs, then a fix made things worse
A developer tested 'inlet', their open-source static SQL-injection scanner for Python codebases, against 15 real PyPI packages — five of which had documented, verified SQL-injection CVEs. The scanner failed to detect four of the five vulnerabilities because the vulnerable code routed through framework-level abstractions rather than the direct method names inlet was designed to recognize. A smaller bug was also uncovered: inlet misclassified safe calls in the Peewee ORM due to a method-name collision with standard database cursor calls. The developer built and shipped a fix that successfully reduced false positives in Peewee, but a follow-up check revealed the same rule silently dropped 94 genuine database call sites across other packages. Rather than ship a fix that improved one metric while degrading overall accuracy, the developer reverted the change and documented the 0-for-5 miss rate transparently in the project's evaluation file.
This is an AI-generated summary. ShortSingh links to the original source for the complete article.
Discussion (0)
Log in to join the discussion and vote.
Log in