Security researcher Seth Larson has exposed a troubling pattern in AI-powered code completion tools: they're suggesting insecure code by default—and nobody knows who's responsible for fixing it. In a detailed write-up on his blog, Larson demonstrated that PyCharm's "Full Line Completion" feature will happily autocomplete dangerous security configurations if you give it half a chance.
The Experiment That Should Scare You
Larson started simple: he typed import urllib3, created a new line, and entered just the letter u. PyCharm's local deep learning model immediately suggested urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning). Accepting that would silently suppress security warnings for any insecure requests. But it gets worse. When he instantiated a urllib3.PoolManager, the autocomplete went straight for cert_reqs='CERT_NONE'—completely disabling certificate verification and opening every request to monster-in-the-middle attacks. The same code that should be raising red flags everywhere got offered up like a convenience feature.
JetBrains Said It's Not Their Problem
Larson reported this behavior to JetBrains on October 10th, documenting the issue for Full Line Code Completion v253.29346.142. He asked about publishing his findings publicly after support confirmed it wasn't classified as a "direct security vulnerability"—but then was asked not to publicize the report and referred to PyCharm's Coordinated Disclosure Policy. After waiting the full 90 days, Larson received no substantive update from the development team. When he re-tested using v261.24374.152 this week, the behavior remained identical. The insecure suggestions are still being served.
This Isn't a JetBrains Problem—It's an Industry Problem
Larson is careful to note this isn't meant as a specific dig at PyCharm or JetBrains. He's right. Every code generation model trained on real-world repositories has absorbed patterns from legacy codebases where developers disabled SSL verification for testing, suppressed warnings to clean up logs, and shipped security shortcuts because deadlines matter more than correctness in the moment. The problem is that these models have no concept of context—they don't know you're debugging versus shipping to production. They just pattern-match on what humans did before, including all the sloppy, insecure things those humans got away with.
Key Takeaways
- Code completion models trained on real repositories learn insecure patterns as "normal" behavior
- JetBrains confirmed this isn't a CVE-worthy vulnerability but asked researchers not to publicize findings
- The vulnerable suggestions persist across PyCharm versions months after being reported
- No clear accountability exists for AI-generated code that introduces security flaws
The Bottom Line
We're building an entire generation of developers who trust autocomplete more than documentation—and apparently with good reason, since their IDEs are actively teaching them to disable SSL verification. This isn't JetBrains's fault alone; it's the natural consequence of training AI on humanity's collective coding mess without robust safety rails. But if vendors won't own this as a security issue and researchers can't publish findings about it, someone needs to build accountability into these systems before "Tab" becomes the new "rm -rf."