Remix.run Logo
ButlerianJihad 16 hours ago

This seems kind of crazy. If LLMs are so stunningly good at finding vulnerabilities in code, then shouldn't the solution be to run an LLM against your code after you commit, and before you release it? Then you basically have pentesting harnesses all to yourself before going public. If an LLM can't find any flaws, then you are good to release that code.

A few years ago, I invoked Linus's Law in a classroom, and I was roundly debunked. Isn't it a shame that it's basically been fulfilled now with LLMs?

https://en.wikipedia.org/wiki/Linus%27s_law

johnfn 12 hours ago | parent | next [-]

After a release, attackers have effectively infinite time to throw an LLM against every line of your code - an LLM that only gets smarter and cheaper to run as time passes. In order to feel secure you’d need to do all the work you’d imagine an attacker would ever do, for every single release you ship.

utopiah an hour ago | parent | next [-]

> attackers have effectively infinite time

No, attackers are also rational economical actors. They don't randomly attack any software just for the aesthetics beauty of the process. They attack for bounty, for fame, for national interest, etc. No matter the reason it's not random and thus they DO have a budget, both in time and money. They attack THIS project versus another project because it's interesting to them. If it's not, they might move to another project but they certainly won't spend infinite time precisely because they don't have infinite resources. IMHO it's much more interesting to consider the realistic arm race then theoretical scenarii that never take place.

mixdup 11 hours ago | parent | prev | next [-]

The first few times it's going to be expensive, but once everyone level sets with intense scans of their codebases, "every single release" is actually not that big a deal, since you are not likely to be completely rebuilding your codebase every release

techpression 3 hours ago | parent [-]

You still have to account for the non-deterministic behavior of an LLM, when do you know you have exhausted its possible outcomes for any given piece of code?

stavros 11 hours ago | parent | prev [-]

This assumes that the relationship between "LLM tokens spent" and "vulnerabilities found" doesn't plateau, though.

r2vcap 7 hours ago | parent | prev | next [-]

As LLMs improve and adoption grows, maintaining a FOSS project is becoming more complex and more expensive in terms of time and manpower. That part is easy to understand.

It is also become a trend that LLM-assisted users are generating more low-quality issues, dubious security reports, and noisy PRs, to the point where keeping the whole stack open source no longer feels worth it. Even if the real reason is monetization rather than security, I can still understand the decision.

I suspect we will see more of this from commercial products built around a FOSS core. The other failure mode is that maintainers stop treating security disclosures as something special and just handle them like ordinary bugs, as with libxml2. In that sense, Chromium moving toward a Rust-based XML library is also an interesting development.

d3Xt3r an hour ago | parent [-]

Just use AI to fight AI, that's the only sensible way we can keep up. So if you're low-quality PRs, reports etc, have LLMs filter them out. Like how once upon a time we used to drown in email spam but it's now mostly a non-issue thanks to intelligent spam filters, the same needs to happen for opensource projects. Use AI to fight AI.

wartywhoa23 21 minutes ago | parent [-]

In other words, have more money to pay than your enemy.

This game will end horribly.

vlapec 16 hours ago | parent | prev | next [-]

LLMs really are stunningly good at finding vulnerabilities in code, which is why, with closed-source code, you can and probably will use them to make your code as secure as possible.

But you won't keep the doors open for others to use them against it.

So it is, unfortunately, understandable in a way...

paprikanotfound 16 hours ago | parent | next [-]

I'm not a security expert but can't close source applications be vulnerable and exploited too? I feel like using close source as a defense is just giving you a false sense of security.

layer8 12 hours ago | parent | next [-]

Finding a vulnerability in a black box is drastically different from finding one in a white box. This isn’t about whether there is a vulnerability or not, but about the likelihood of it being found.

ygjb 11 hours ago | parent [-]

No it isn't. There is a tooling gap, and there is a skill gap, but both of those are being rapidly closed by both open and closed source projects.

LLMs, and tools built to use them, are violating a lot of assumptions these days.

thombles 9 hours ago | parent [-]

It's a meaningful difference for SaaS. Most likely an attacker doesn't have access to your running binary let alone source code, and if they probe it like a pentester would it will be noisy and blocked/flagged by your WAF.

sandeepkd 11 hours ago | parent | prev | next [-]

What is being phrased as obscurity is one of the approaches to security as long as you are able to keep the code safe. Your passwords, security keys are just random combination of strings, the fact that they are obscure from everyone is what provides you the security

pcblues 5 hours ago | parent [-]

Decompilation and you are back to the level of security you started with. OpenSSH is open for a good reason. Please acknowledge your error. Are you AI?

pixel_popping 15 hours ago | parent | prev [-]

Delaying attacks is a form of valid security.

genxy 6 hours ago | parent | prev [-]

You don't need the source, the LLM has the source, it is called the binary.

pcblues 5 hours ago | parent | prev | next [-]

Write simple code. Do what you said, which is a very good idea. Test LLM security against the compiler too.

sandeepkd 11 hours ago | parent | prev | next [-]

Every change would introduce the possibility of a vulnerability being added to the system and one would need to run the LLM scan across the entire code base. It gets very costly in a environment where you are doing regular commits. Companies like Github already provide scanning tools for static analysis and the cost is already high for them.

10 hours ago | parent | next [-]
[deleted]
pianopatrick 9 hours ago | parent | prev [-]

Might lead to a move away from continuous delivery back towards batched releases.

layer8 12 hours ago | parent | prev | next [-]

Attackers only need LLMs to be good at randomly finding one vulnerability, whereas service providers need them to be good at finding all such vulnerabilities.

samename 16 hours ago | parent | prev | next [-]

That’s a non-trivial cost for commonly severely underfunded open source projects

yawndex 16 hours ago | parent [-]

Cal.com is not a severely underfunded project, it raised around $32M of VC money.

evanelias 13 hours ago | parent [-]

It's not a "project" though; the business Cal.com Inc raised that VC money. Their open source repo did not raise the money.

Did they ever promise to keep their codebase FOSS forever, in a way that differs from what they're already doing over at cal.diy? If not, I don't see why it would be reasonable to expect them to spend a huge amount of money re-scanning on every single commit/deploy in order to keep their non-"DIY" product open source.

dgellow 16 hours ago | parent | prev | next [-]

I mean, you should definitely have _some_ level of audit by LLMs before you ship, as part of the general PR process.

But you might need thousands of sessions to uncover some vulnerabilities, and you don’t want to stop shipping changes because the security checks are taking hours to run

fwip 16 hours ago | parent | prev | next [-]

It's entirely possible to address all the LLM-found issues and get an "all green" response, and have an attacker still find issues that your LLM did not. Either they used a different model, a different prompt, or spent more money than you did.

It's not a symmetric game, either. On defense, you have to get lucky every time - the attacker only has to get lucky once.

earthnail 16 hours ago | parent | next [-]

> It's not a symmetric game, either. On defense, you have to get lucky every time - the attacker only has to get lucky once.

This! I love OSS but this argument seems to get overlooked in most of the comments here.

16 hours ago | parent | prev [-]
[deleted]
maxloh 12 hours ago | parent | prev [-]

[dead]