There’s a lot to unpack here as there’s many ways to use LLMs to program.
Firstly, there’s the vibe coded stuff. It’s fantastic when used to write something for yourself. You need a privacy preserving pomodoro app? One prompt and two minutes later you have a tool that’s a lot more private than 80% of android freeware built to mine or steal your data. You need a small additional feature? Add one more prompt and you’re good. No need to look for alternatives.
The caveats are that you need to know how to program or at least how to read the code to know it doesn’t have anything highly suspicious hallucinated in.
You can also share vibe coded tools that do something that is not security critical, and others can use their LLM to check the source has nothing suspicious. This won’t beat a solid open source project naturally but it can do a lot to eliminate the need to install pay-with-data SW from app stores.
But again, do NOT vibe code security critical software that parse untrusted data, that encrypt data etc.
If you’re only processing the data locally or you can use encrypted tunnel for remote access, it’s probably passable under relaxed threat models.
Then there’s vibe engineering, where you work with much more intent, specify libraries, frameworks etc. and control the development process.
It’s a major force multiplier and since it’s usually around much better testing, it increases trust on stability and correctness and thus maybe availability. It also results in less security bugs, but unless the end result is read and understood by the author, it’s not that much better for security as it lacks “I know how it works line by line and I know it’s correct” level of agency from the author.
Thus it’s in the same domain as vibe coded stuff until it gets manual review.
Then there’s just LLM assisted engineering where you co-write the code with the LLM using it to automate boring tasks. Need to update boilerplate across 400 files? No need to do it by hand if you task LLM to do it and review the results on commit.
This won’t be less secure than code that you’d write yourself. In fact, it’s better as the LLM can find vulnerabilities and automation of boring stuff leaves more time for the interesting and challenging parts.
When I started long time ago, I loved the notion that cypherpunks write code. I’m sure we’ll see a lot of awful slop, a lot more malware like fancier Trojan software. But I’m also optimistic that it’s getting easier and easier to run custom software for yourself, that’s free from surveillance capitalism. Just run the coding agent on a dedicated dev machine.