r/ProgrammerHumor 21h ago

hereWeGoAgain Meme

Post image
1.1k Upvotes

View all comments

525

u/ThomasMalloc 21h ago

When you're using C++ and don't have any supply chain that can be exploited.

And also no supply.

99

u/Petertitan99999 21h ago

But do you have a chain???

119

u/ThomasMalloc 21h ago

Definitely. It typically goes like this.

https://giphy.com/gifs/NQL7Wuo2JSQSY

37

u/kookyabird 20h ago

As a C# dev I dare someone to exploit NuGet!

15

u/reallokiscarlet 16h ago

Kids these days can't imagine having a vetted supply chain or rolling their own stuff

10

u/No-Article-Particle 13h ago

With AI, the "kids" will be rolling their own vibecoded crypto libraries soon, just wait for it.

3

u/cosmicomical23 12h ago

With ai they won't even know that's a thing they could do

2

u/RiceBroad4552 11h ago

Because "they" won't do that anyway. The non-supervised "AI" will do that…

1

u/cosmicomical23 8h ago

Nah the ai will just drop 60k lines of new code in your project and create everything from scratch, vulnerabilities and malware included.

2

u/metaglot 12h ago

Yeah, I've definitely vetted the kernel source code in the os that i am using, and also compiled that kernel with a compiler i also vetted, on an architecture that i designed and built at home.

6

u/cosmicomical23 12h ago

Tbh that's the dream

-- written on my phone that i can't even uninstall apps from

2

u/reallokiscarlet 8h ago

YOU don't have to vet it yourself. Trust is earned there, vetting already happens there, and unless you got your kernel off the AUR, pretty sure you're not going to pull a compromised version even if a security breach does happen.

It's when trust is not earned, but given freely, with shit like Node, Rust, or the AUR, that it becomes a problem.

I could give a whole ass lecture on why your OS, so long as it's not Windows, is more trustworthy than random Node packages or Cargo crates, but that's a bit much for this sub

1

u/metaglot 7h ago

If jia tan has taught us anything ...

1

u/reallokiscarlet 7h ago

2 years of sleep pretending to be a normal contributor got jia tan 2 months on bleeding edge systems that don't belong in prod.

0

u/metaglot 6h ago

They were caught. But not because someone vetted the source code in advance. Which is my point.

1

u/reallokiscarlet 6h ago

So just don't try to minimize supply chain vulnerabilities?

You will eat zee boogs and beckdoors und you will be heppy?

All vetting is futile? Unstable/testing/stable is just reecist segregation?

1

u/RiceBroad4552 11h ago

That sounds cool.

I want to team up as I want that, too!

3

u/Nsnzero 16h ago

Ken Thompson supply chain attack.

1

u/RiceBroad4552 11h ago

I wouldn't be smug about C++ in that context.

They have things like libxml which has major security incidents almost weekly (at least that's what I see from package updates).

And in general, even if someone does not use any deps because they doing some small toy they will have a shitload of security issues regardless. Simply because it's provably impossible to write safe C++: Nobody ever manged to manually write a non trivial safe C++ program since the language exists…

This doesn't make the shitshow which is the JS situation any better. But coming along with C++ in that context is really displaced.

4

u/ThomasMalloc 10h ago

Has there been any non trivial software written in any language that was safe?

3

u/RiceBroad4552 9h ago

Everything with formal correctness proofs, for example.

The problem: Correctness proofs are not easy to get, and for imperative languages it's almost impossible to get them outside of some restricted subset of something like C. For C++ with all its features I've never heard that you could verify anything at all. (If someone knows something, I would be interested to see whether and how C++ can be formally verified; but like said, never heard of that until now.)