Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Au contraire, the Rust (or other "modern" lang) dependencies come in addition to the OS dependencies. The C (or other "old" lang) programs typically have very few dependencies apart from the OS, with absolutely glacial release cycles. And unless you're on Arch or similar, the OS package manager updates are primarily just minor version bumps.

It seems pretty indisputable that "modern" langs substantially increase your supply chain attack surface. Of course some (like JS) are worse than others.

As a result, whether the net security benefit of using Rust vs C is positive or negative depends heavily on the program in question. There is a huge difference between e.g. Firefox and Wireguard in this respect.



> The C (or other "old" lang) programs typically have very few dependencies apart from the OS, with absolutely glacial release cycles.

Very few by number, but that's more an artifact of C's poor package management than a true reflection of how much third-party code you're actually pulling in. Something like APR is the equivalent of hundreds of Rust packages, and comes with a similar security risk. Sure, maybe there's someone who signs off on each release, but do you think they personally know and validate each of the dozen or more mostly-independent projects that actually make up their library? No, they delegate to separate maintainers - that information just isn't surfaced in the package management system.


> The C (or other "old" lang) programs typically have very few dependencies

Say what now? Have you ever worked on a project that uses C?

We were using 3rd party dependencies in C in the 1980s.

Here's a more current list for C and C++: https://github.com/fffaraz/awesome-cpp


Anyone writing C quickly learns to find third party libraries that do lots of things for them.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: