Back to News
Advertisement
Advertisement

⚡ Community Insights

Discussion Sentiment

84% Positive

Analyzed from 2767 words in the discussion.

Trending Topics

#security#code#vulnerabilities#review#don#openemr#more#source#sql#enough

Discussion (82 Comments)Read Original on HackerNews

simonwabout 3 hours ago
"The values passed to _sort were concatenated directly into SQL ORDER BY clauses with no validation" - sounds to me like this project had some low-hanging fruit!

Looks like every single one of the 38 vulnerabilities were either SQL injection, XSS, path traversal or "Insecure Direct Object Reference" aka failing to check the caller was allowed to access the record.

This is actually a pretty good example of the value of AI security scanners - even really strong development teams still occasionally let bugs like this slip through, having an AI scanner that can spot them feels worthwhile to me.

tmoertelabout 3 hours ago
> Looks like every single one of the 38 vulnerabilities were either SQL injection, XSS, path traversal or "Insecure Direct Object Reference" aka failing to check the caller was allowed to access the record.

Seems like code review against a checklist of the most common vulnerabilities would have prevented these problems. So I guess there are two takeaways here:

First, AI scanners are useful for catching security problems your team has overlooked.

Second, maintaining a checklist of the most-common vulnerabilities and using it during code review is likely to not only prevent most of the problems that AI is likely to catch, but also show your development team many of their security blind spots at review time and teach them how to light those areas. That is, the team learns how to avoid creating those security mistakes in the first place.

Falellabout 1 hour ago
I think it shows exactly the opposite of the second. Even with the availability of checklists, and instructions to use them, people won't and don't actually use them consistently.

'With enough eyes, all bugs are shallow' and AI is an automatable eye that looks at things we can tell nobody has seriously looked at before. It's not a panacea, there will be lots of false positives, but there's value there that we clearly aren't getting by 'just telling humans to use the tools available'.

See also: modern practices and sanitizers and tools and test frameworks to avoid writing memory errors in C, and the reality that we keep writing memory errors in C.

capikiabout 2 hours ago
What about having the checklist and having an AI tool use it to catch things at review time (or even development time)?
tmoertelabout 2 hours ago
Having AI tools do the review against the checklist would probably prevent the problems. However, it would probably be substantially inferior as a teaching tool for your team. The exercise of having reviewers hunt the checklisted vulnerabilities for themselves is what develops the mental muscles needed to understand the vulnerabilities in depth and avoid them when designing and writing future code.

But, yes, I'd augment any manual review with a checklist and AI review as a final step. If the AI catches any problems then, your reviewers will be primed to think about why they overlooked them.

simonwabout 2 hours ago
Yee, absolutely. A team with a strong code review culture that incorporates security review against common exploits ideally wouldn't end up with holes like this.
ihaveajobabout 2 hours ago
I guess the value of the tool is that it gives you that same benefit for the cost of a few tokens.
ulimnabout 2 hours ago
Checking for OWASP top 10 items during code review is usually a mid level dev interview question IME. It's nothing new. Teams don't have to come up with these. These things exist.
dgb23about 2 hours ago
But by not having a checklist you avoid that your blind spots get exposed.
tmoertelabout 2 hours ago
Why would you want to prevent your development team from learning about their blind spots?
camdenreslinkabout 2 hours ago
I don't think strong development teams are still letting SQL injection vulnerabilities through by manually concatenating strings to build queries with user-provided data. Not in the year 2026.
voxic11about 2 hours ago
Keep in mind this project is a 25 year old PHP application.
zarzavatabout 2 hours ago
That actually makes it more confusing since a 25 year old PHP application is exactly where you'd expect to find SQL injection vulnerabilities.

If I were in charge of a 25 year old PHP application, tracking down every SQL query and converting it to a safe form would high on my list of priorities. You don't need AI for that, just ripgrep and a basic amount of care for your users.

simonwabout 2 hours ago
Good frameworks can protect against SQL injection and XSS (through default escaping of output variables) but protecting against insecure direct object access is a lot harder.
IshKebababout 2 hours ago
Yeah this is a huge red flag that would make me avoid this project for sure.

Unfortunately you have no easy way of checking if closed source projects are similarly amateur.

Taters91about 3 hours ago
These kind of checks were available without AI.
sheikhnbakeabout 2 hours ago
Math is doable without a calculator
happytoexplainabout 2 hours ago
The headline is "AI uncovers...", implying that the standard static analyzers used by basically everybody didn't catch them.
RA_Fisherabout 2 hours ago
AI gives us a means of leverage. We can do more with less. production = f(labor, capital, technology) + eps
krainboltgreeneabout 2 hours ago
This always comes up and the only thing I can think is: Doesn't Google make like 10B a quarter in profit from GCP alone? Did we really need a cheaper SQL injection checker?
positron26about 2 hours ago
Was the human labor?
gchamonliveabout 2 hours ago
Isn't this something SonarQube catches?
webXLabout 2 hours ago
Yes. Isn't this something code review catches? :)
gchamonliveabout 2 hours ago
I'm really curious what's your line of thinking here. Could you elaborate?
positron26about 2 hours ago
Presuming there is an infinite pool of programmers who tirelessly work for a low price?
nudpiedoabout 2 hours ago
There are Static code analyzers which already would have detected that.

And these were also automatic. Looks very likely that the team didn’t give a damn about top basic security and good practices.

Like a house made of paper wouldn’t be an example of the insecurity of the construction industry.

gowldabout 3 hours ago
I think SQL Injection detectors were pretty mature even before the "AI" version?
hilariouslyabout 3 hours ago
Honestly those all sound like common linters could find things like string concatenation.
EGregabout 3 hours ago
“even really strong development teams”

One would think a single really strong developer, let alone a team, would look for interpolation in strings fed to RDBMS?

srvealeabout 2 hours ago
And yet here we are
gostsamoabout 2 hours ago
> This is actually a pretty good example of the value of AI security scanners

Are you fuckin' serious? This would be caught with any self-respecting scanner even 5 years ago and with most educated juniors even earlier.

I use AI every day, but I'm not deep enough in the dilulu to believe that everything above two brain cells should be a transformer.

demorroabout 2 hours ago
Completely normal and expected.

People thinking that this isn't the case everywhere need a reality check. Most software is riddled with obvious security issues. If we can remediate them with AI, great, but don't be thinking that this is something that we could only have dealt with with AI. Enough attention and prioritization of these issues would also have sorted it.

Ask yourself if we weren't currently in an era of AI-focus and AI was just another boring tool, if we would be bothering to do this sort of thing. Loads of us still aren't bothering with basic static analysis.

unshavedyakabout 2 hours ago
Heck, unless AI gets absurdly cheap - i feel like even this will be temporary. To your point, we don't do that now because it's not fun and no one broadly finances this sort of thing. However AI costs money, so why are we spending it now? I imagine it's just a temporary spend to explore the space, show what models are capable of, further embed usage of AI for future rugpulls, etcetc.

Point is unless it eventually becomes cheap enough that we all have this at home and can run SOTA analysis ourselves, this too will pass. I imagine it will get cheap enough fwiw, but.. yea.

dflockabout 3 hours ago
No one knows how many vulnerabilities there are in closed source medical record software - because we can't check. There are _probably_ loads though, because that medical software is super terrible in every way that we _can_ check.
1970-01-01about 2 hours ago
Isn't anything closed-source by definition this? Why speak of the subset of closed-source medical record software when it's just the entire class of software?
oatmeal1about 2 hours ago
Or voting machines.
0xdeadbeefbabeabout 2 hours ago
SQL injection and XSS come up in dynamic analysis too.
dematzabout 1 hour ago
duffpkg's comment 2 years ago does not inspire great confidence in OpenEMR: https://news.ycombinator.com/item?id=40763424

>I was the main contributor and maintainer to OpenEMR about ~20 years ago and then decided it was irredeemable and started over with ClearHealth/HealthCloud. Shockingly some of my code code lives on (from PHP 3). I am reluctant to say don't use it but if you do please don't expose it to anything public, which sadly happens most of the time. There are some real problems that exist in that code base from a security and HIPAA perspective.

Finding SQL injections etc is definitely valuable, but at the same time they did not hack Epic; the "100000 medical providers" number links to https://www.hhs.gov/sites/default/files/open-emr-sector-aler... which links open-emr.org/blog/openemr-is-proud-to-announce-seamless-support-for-telehealth/ which...404s. Per archive.org the source is something the CEO of now defunct lifemesh.ai said.

"medical record software" makes it sound super serious, but again OpenEMR should not be taken as seriously as for instance Epic.

joshghentabout 1 hour ago
Had exactly the same sort of experience using AI to audit a code base we inherited recently at $dayJob.

Spotted over 100 “security issue but after whittling them down via reproduction scripts and validating they were real CVE’s - that number was around 30.

Even so - it was a huge win and something we wouldn’t have spotted.

It’s something I’ve now codified into repowarden.dev

david_shawabout 1 hour ago
We'll see more of this, but this particular review is driven by marketing narrative. I'll explain what I mean:

Back in 2010, as a security engineer, I also looked at OpenEMR. It was an absolute disaster, and was (and is) somewhat well-known as such. I found and published vulnerabilities very similar to these sixteen years ago. This is not exactly the Fort Knox of software.

It makes sense for AISLE to demonstrate that they're able to find vulnerabilities here, but I'd love to see a side-by-side comparison of modern SAST and DAST reviews. I bet we'd find similar vulnerabilities.

zuzululuabout 2 hours ago
This is the new trend that keeps me awake at night. It's that adversaries now have access to off the book inference and that they will be able to scan pretty much any widely used open source project and discover and exploit zero days. I think making it closed source offers a bit more security but will only buy time as it is possible to reverse engineer them with current closed source models with extreme ease.

If you are sufficiently funded then you could benefit from the flip side of discovery but it looks bleak if you are a sole maintainer on a large project that is a dependency in many deployed instances without any revenue or donations, plus there is nobody digging deep enough to care or spend inference ( would your company spend the money on extra inference to is the question, more often than not) on both sides of the fence, we are going to see massive disruptions across the board.

Cybersecurity is becoming a proof-of-work of sorts and the race is on. There might be unknown number of zero days being silently discovered and deployed, likely have an impact on the economics too, thus making the access far more widespread.

I do wonder if this means our tech stacks will go back to being boring and simple as possible...you wouldn't hack a static html website being served on nginx would you?

eithedabout 2 hours ago
It's nothing new - even without LLMs you have automated tools that will try stuff to see if your application is vulnerable. You can abuse misconfigured nginx server. To be fair, to your point, LLMs are amazing pattern recognizers = this pattern it has seen in this codebase applies to that codebase so vulnerability is most likely; I'm unsure if they can "innovate" (still, recognizing patterns is enough); this pattern it has seen causes a crash, but I don't know if we're at the point where it can connect two and two together and use a set of unrelated code issues to, for example, exfiltrate credentials
muglugabout 2 hours ago
Most of these vulnerabilities could have been discovered much earlier had the same security researchers pointed a SAST tool at the codebase.

I wrote an OSS PHP SAST tool 6 years ago, but it's suffered from industry neglect — most people only care about security after an incident, and PHP has enough magical behaviour that any tool needs to be tuned to how specific repositories behave.

I agree there's a big opportunity for LLMs to take this work forward, filling in for a lack of human expertise.

unethical_banabout 2 hours ago
Where can I learn more about SAST, and do you have a link to your tool?

I stood up a Dokuwiki instance recently and had Qwen look through the codebase, and it didn't find anything critical. It identified "fragile patterns", though.

rustyhancockabout 2 hours ago
I think we'll see a lot more of this (and it's a good thing).

Automation doesn't usually replace humans it just hikes up the floor.

I.e. nearly all of these (most in general?) bugs will be spotted quickly by a train eye. But it's hard to get trained eyes on code all the time. AI will catch all the low hanging fruit.

What's great about this it seems mostly low hanging I.e. even basic AI will help people patch holes.

dgb23about 3 hours ago
It seems to me that this sort of work is a usecase that’s actually very fitting use case for LLM agents and the like. Because they can be trained and tuned to find commonly known vulnerability patterns.

Here, something that looks like the thing is a strong signal, as long as the probability is high enough to be useful.

Remember Netflix‘ chaos monkey?

mbestoabout 2 hours ago
What's probably WAY worse than this is that most healthcare providers running OpenEMR are likely on older versions of OpenEMR where CVEs are already detected.
doctorpanglossabout 2 hours ago
Nobody uses OpenEMR. No chance. They are lying about their numbers.
tecleandorabout 2 hours ago
Well, it's not popular maybe on bigger hospitals, but back in the day I think it was relatively popular on smaller practices even on the US. I don't know if it has lost traction (or not) with the popularization of cloud services, I'm not super up to date...
whartungabout 2 hours ago
I can't speak to OpenEMR, but OpenMRS is popular overseas, and has done a lot of work in Africa.

OpenEMR may be in similar spaces.

Advertisement
ranger_dangerabout 2 hours ago
> used by over 100,000 medical providers serving more than 200 million patients across 34 languages

Interesting... I have been working with many different EHR platforms across the country for the last 15 years and I have never heard of OpenEMR before, or any open-source platform for that matter.

jjwisemanabout 3 hours ago
The Aisle "the moat is the system, not the model" blog post comparing Mythos' results to their system's was misleading, and seemed to be an attempt to ride the coattails of attention on Mythos. It was of low enough quality that I'd want to see more details of exactly how these vulnerabilities were found.
hereme888about 2 hours ago
OpenEMR? Used by some missionary doctor in remote Afghanistan?
giancarlostoroabout 3 hours ago
I've said it a few times, and I will keep saying it. Especially for the anti-AI crowd. Sure, you don't want it to write your code, fine, not bothered at all, but review your code for serious security flaws, and enhancing security audits? You definitely want AI there. I foresee the next few years we will see all sorts of companies, sites, and critical infrastructure being hacked. Heck, we're already seeing more and more of this. It's not going to end very well. If your company is sleeping on its cyber security, tomorrow isn't when you want to deal with it, but get on it before you can.

I say this purely as a Software Engineer, not a security expert, but you have to consider hackers can, are, and will use AI against you.

The Mexican government was hacked by people using Claude[0] this was apparently many government systems and services, all that PII for everyone in the country in these systems. Even if Claude somehow "patches" this, there's so many open source models out there, and they get better every day. I've seen people fully reverse engineer programs from disassmebling their original code into compilable code in its original programmed language, Claude happily churning until it is fully translated, compiles and runs.

Whatever your thoughts on AI are, if you aren't at least considering it for security auditing (or to enhance security auditing) you are sleeping at the wheel just waiting to be hacked by some teenager skiddie with AI.

[0]: https://news.ycombinator.com/item?id=47280739

captainkrtekabout 3 hours ago
Amen to this.

I've bounced back and forth on my feelings for AI and have landed in the realm of: - there are certain things it is exceptional at that humans cannot replicate. - there are certain things I do not want to use it for.

And review falls squarely in that first category. Similarly, it is exceptional at working through "low hanging fruit" type problems such as spotting inefficiencies, analyzing a profile to find flaws in software, etc.

motoxproabout 2 hours ago
A better headline would be "AI finds mistakes made by human" It's not that it's doing something novel, every single person in this thread has made mistakes, and big ones, not because we aren't trying, it just happens. AI helps find some mistakes, not all, not everytime, not without effort, not without slop/false positives, just some mistakes. Thats a very good thing.
danawabout 1 hour ago
now let's open source all healthcare systems so we can at least collectively improve these things rather than trusting companies like oracle to be good faith actors with equally acceptable security
asahabout 1 hour ago
only 38 CVEs - that's pretty good!

...so far !

0123456789ABCDEabout 3 hours ago
something i am missing in this area is education and services.

if, during an automated code review, claude finds a vulnerability in a dependency, where should i direct it to share the findings?

who would be willing to take the slop-report, and validate it?

i've never done vulnerability disclosure, yet, with opus at max effort, i have found some security issues in popular frameworks/libraries i depend on.

a proper report can't be one pass, it has to validate it's a real problem, but ask opus to do that and you run the risk of the api refusing the request, endangering your account status. you ask to do it anyway, and write a report and now, you're burning tokens on a report that's likely to be ignore, because slop.

so i sit on this, and hope it doesn't hit me.

hedgehogabout 2 hours ago
It often takes strong understanding of the upstream codebase and roadmap to write a good patch. It's easy enough to write a rough PoC and draft patch but getting all the way through the cycle takes up a bunch of time both from you and the maintainers (who are often already overloaded). My advice would be to draft a bunch privately, take one of the highest impact all the way through a deployed fix, and then plan based on what you learn. Some people's answer is to maintain private forks with automated fixes applied, with a periodic rebase on upstream.
0123456789ABCDEabout 2 hours ago
i'm well aware that a pull-request with a fix is a lot of work. i don't pretend to have the capacity to do this, with all the rest i have to attend to.

it just doesn't sit well with me that, i am aware of something being broken, and not telling about it to someone who would otherwise want to know about it.

hedgehogabout 2 hours ago
In my opinion maintainers can easily run a "hey robot, scan my code for risky patterns" to get a rough list, or they can solicit unreviewed contributions, but otherwise better not to add noise.
0123456789ABCDEabout 2 hours ago
i'd be happy to use an official skill for vulnerability reporting

the skill would be manually triggered when vulnerabilities are found; do another pass for details; version, files, lines, then write a lightweight report and submit somewhere. anthropic could host this, or work with h1 to do that. when the models have extra capacity a process comes around and picks up these reports one by one, does another check, maybe with proof-of-concept, reports through proper channels.

esafakabout 2 hours ago
Share it in the repo's issues, discussions, or chat?
0123456789ABCDEabout 2 hours ago
that would be full disclosure, i don't particularly dislike the idea, but it's slop, the devs are already overwhelmed, i don't fully understand the legal implications i would be exposed to.
esafakabout 1 hour ago
You can omit the details and share them on request.
Exoristosabout 3 hours ago
Now do Epic.
0xdeadbeefbabeabout 3 hours ago
Also the attackers may become hypochondriacs after reading too much medical stuff.
Advertisement
MattCruikshankabout 2 hours ago
Did they privately disclose these vulnerabilities to the developers and give them a reasonable amount of time to fix them, before they announced them to the world?

Because, and I'm going to highlight, if someone exploits a CVE in an EMR, they can wreck havoc on actual real patient data, and can endanger health and lives.

https://github.com/openemr/openemr/security

"Option 1 (preferred) : Report the vulnerability at this link. See Privately reporting a security vulnerability for instruction on doing this."

Did they do that?

Because if they didn't responsibly disclose, this sure seems like a hit job performed by someone who'd rather EMR software be closed source.

1970-01-01about 2 hours ago
RTFA, Matt. Your answer is at the end of it.