OpenJS: "XZ Utils Cyberattack Likely Not an Isolated Incident"
socket.dev
socket.dev
Often you'll see one attack succeed or semi-succeed, but the actual plan was a good one, and it gets copied by less sophisticated attackers that can't come up with their own plans but copy other attacks that have had some success.
While technical knowledge is required to execute this, the social engineering aspect is more accessible. Backdoors aren't too hard to find and add even if you're not super technical. This means that the volume of such attacks is likely to increase and also be harder to defend against.
I'm really hoping that the XZ attack makes folks more wary though given enough time, the feeling of urgency will pass and folks may become more lax again.
Major vendors like GitHub can have a good impact here in adding detection and tools to enable detection and prevention of bad actors in this manner, though a lot of OS doesn't work around centralised tools like this and requires people to keep being vigilant.
I kinda feel that it's inevitable for such an attack to take place in the future and have similarly devastating consequences. Things are just too decentralised and independent (which is a good thing) to cover all bases effectively.
We can hope that maintainers of very commonly-used packages/tools are vigilant but people are people.
I'm certainly glad that the Executive Directors of the "OpenJS Foundation" and "Open Source Security Foundation" feel so important, but something tells me that this is a bit of... an exaggeration... Maybe they should join their efforts with "Open Website Foundation" and "Open Hardware Foundation" to cover 100% of bullshit bingo misleading naming of corporations whose necessity is unnecessary in the first place.
At this point is cheaper to hire 5 full time programmers for a year to just introduce a vulnerability in an open-source project. Do it the old Google way - you work 80% of time on legit features and bug fixes to get credibility and in 20% of time you work on the backdoor.
A very well vetted library to do something tricky may be more reliable than reinventing the wheel.
But to your point — a former employer of mine is the company behind a major SaaS application used everywhere from “you and I” to companies like Apple, Workday, IBM, and Disney.
I once overheard an executive remark that “we need to do something” about the (figurative) “million NPM packages and JS libraries” that got pulled down when you compiled the server.
If, on the other hand, your primary consideration is to achieve some manner of a measure you won't care what tool you use, if any, because its all arbitrary. The deciding factor is not your self-interested level of comfort but a numeric quality compared to some other numeric quality.
This is why I abandoned my 15 year JavaScript career. Its full of cowardly people who cannot measure anything because, even when they are so capable, measuring things may reveal uncomfortable and highly contrary conclusions.
The state actor had then two choices when finding one, keeping it secret at the cost of leaving a lot of their own computers vulnerable or disclosing it but they cannot use it anymore.
Backdoors on the other hand can be made reasonably locked to keep it to themselves, like the one introduced in xz. They don't have this dilemma.
> I'm wondering if perhaps the Linux ecosystem is actually a bunch of aging infrastructure. If so, that fact might be obscured by seemingly healthy contributions to the Linux kernel. There's a ton of other "basic infrastructure" that gets shipped alongside the kernel, though: coreutils, binutils, gcc, make, autotools, cmake, zlib, xz, etc etc etc. -- Camdon Cady
> Our team at Socket catches 100+ software supply chain attacks in npm, PyPI, and Go every week.
> Software engineer Andrew Nesbitt has been playing around with the concept of a "blast radius" for open source security advisories on Ecosyste.ms. He uses the CVSS score of a security advisory multiplied by the number of repositories that depend upon that package to determine the “blast radius.”
I could see some value to a kind of measurement like that, but I agree that that particular method seems heavy handed.
This is partly what SBOMs are meant to solve for.
I’m also not sure calling Linux “aging infrastructure” that is obscured by activity in the Kernel is intellectually honest. Perhaps it’s better framed as a naive take. If the point is about shopping the rest of the OS (“all the dependencies” if you will) being a supply chain issue, I think the point would be better.
A vulnerability with CVSS 2.5 wouldn't have a quarter of impact of a CVSS 10 vulnerability, its impact would be insignificant.
A CVSS 10 on several internal services with all user input being filtered may be substantially less risky than a public facing component using a library with a CVSS 2.5 depending on your application and vulnerability.
The only correct way is to assess risk is analyze how you utilize each component and determine if your application would run into the issue to begin with. This work cannot be hand-waved away with a simple number despite this practice being the hot fad in cybersecurity.
Also, on mobile why do I have to scroll to the bottom of the page to find your pricing page? Why do you not have a menu, like most websites?
You can find some computation to optimize just like you can find memory to compact, so getting caught was largely not believing performance was going to be part of the test..
But if you aren't in it for ulterior motives, you have predictive branching, etc, so your performance loss may be in the imagination of a CPU designer with a wrong idea of typical that strangely coincides with a uniquely written benchmark..