Top
Best
New

Posted by miniBill 17 hours ago

Incident Report: CVE-2024-YIKES(nesbitt.io)
552 points | 141 comments
lynndotpy 16 hours ago|
For anyone confused, this is (very good imo) fiction about supply-chain incidents. It had me very worried during a brief scan that it was real though, which made me read it more attentively :)
junon 4 hours ago||
As the victim of the one from last year, it wasn't particularly fun to read.

The implication that I don't know what I'm looking at, or that I don't know what security is (despite having a clean track record for about 15 years now) was a bit aggravating.

In fact, even months later, the lasting effects have been panicking over anything that is remotely suspicious. The most recent example was just a few days ago. Had just gotten on the plane to go on vacation when someone Liked the original "I've been pwned" post on Bluesky. I misread the notification as being a new message to me saying "You've been pwned" and started to panick. I'd have had no way to address it and it would have ruined the small chance per year I get to have a break.

The attack last year wasn't me misunderstanding security. It was the sum of many, many small things (my history with and perception of npm especially w.r.t. their security posture and poor outreach over the years, being stressed out overall, and being in a rush at that particular moment, and a few other personal things) coming together in a perfect storm that resulted in the attack.

adastra22 14 hours ago|||
I couldn't tell at first, tbh. It had this vibe: https://github.com/bitcoin/bips/blob/master/bip-0042.mediawi...
OhMeadhbh 11 hours ago||
Yeah. Me too. It looked like a spoof when I started reading, but as I went on it didn't seem to be increasing in it's implausibility.
adastra22 5 hours ago||
Well, the one I linked to is real. BIP-42 made bitcoin's monetary policy fixed, by fixing a bug in the client which would have resulted in the initial subsidy code being reset every ~250 years or so. It's just the official writeup documenting it that is silly.
zahlman 9 hours ago|||
"left-justify" absolutely slayed me :)
CoastalCoder 9 minutes ago|||
Would explain why most of the download traffic comes from the Middle East :)
dirkc 4 hours ago|||
I should have known when the first package was left-justify, but I read until karen before I realized it must be fiction
eithed 2 hours ago|||
Contributing factors are entirely serious

edit: actually more and more thing I'm recognizing as being entirely serious (ie benelovent worms :D); satire indistinguishable from reality

smsm42 10 hours ago|||
Searching for CVE-2024-YIKES also provides a gallery of AI slop blogs that AI-rewrite the content of this post while being absolutely stone cold serious about it.
b473a 9 hours ago||
Currently a Google search for vulpine-lz4 gives a very serious AI overview.
trollbridge 7 hours ago||
Googling is no longer a reliable way to figure out if something is real or not (since, in this case, it just regurgitates the original article, including a couple slop blogs about it)
fvv 4 hours ago|||
Just because it's not important to pay attention to CVEs, why not waste the readers' time by creating "fictional" CVEs without a disclaimer in the first line? Just because it's not already difficult to scrape through the information and noise on this internet... especially if it appears on the front page of hackernews
jmusall 4 hours ago|||
Could one mistake this

> Status: Resolved (accidentally)

> Severity: Critical → Catastrophic → Somehow Fine

for a real CVE report?

dasyatidprime 4 hours ago|||
The tag list at the top of the page includes “satire”.
philipwhiuk 16 hours ago||
'nmp'
INTPenis 15 hours ago|||
Node's Malicious Packages.
krautsauer 11 hours ago|||
I only noticed at goat farming. But anyway, what would a left-justify package do?
smsm42 10 hours ago|||
Same as left-pad (https://en.wikipedia.org/wiki/Npm_left-pad_incident) but much better?
swiftcoder 4 hours ago||||
> I only noticed at goat farming

Heh. I didn't even blink at that. I know a couple of open-source folks who actually packed up to buy off-grid farms in Portugal

yk 11 hours ago|||
Pull left-pad as dependency presumably.
yellowapple 8 hours ago||
Which then, inexplicably, pulls left-justify as a recursive dependency.
dasyatidprime 1 hour ago||
The dependency cycle is actually the functional mechanism of the code, because they subvert the dedup mechanism in the package manager using a random generation trick. Each recursive copy of the dependencies takes up a little bit more space, which ultimately gets converted to the spaces inserted into the original datum; the caller is expected to adjust the cache settings to signal the desired amount. That's also why if you're using left-justify to process strings, Yarn is recommended for best compatibility. /joke
athrowaway3z 15 hours ago||
> Day 1, 14:47 UTC — Among the exfiltrated credentials: the maintainer of vulpine-lz4, a Rust library for “blazingly fast Firefox-themed LZ4 decompression.” The library’s logo is a cartoon fox with sunglasses. It has 12 stars on GitHub but is a transitive dependency of cargo itself.

I got a bit curious and here is an incomplete list of crates to compromise to be part of the cargo build and that already have a build.rs so it doesn't stand out to much:

flate2 tar curl-sys libgit2-sys openssl-sys libsqlite3-sys blake3 libz-sys zstd-sys cc

As a nice bonus - if you get rights for xz2 you can compromise rustup.

Fwiw at least they do track Cargo.lock

b40d-48b2-979e 10 hours ago|
-sys crates are just bindings and doing something else in them is highly suspect. The rest I recognize as being owned by a Rust maintainer like alexcrichton or rustlang itself.
nextaccountic 8 hours ago|||
> The rest I recognize as being owned by a Rust maintainer like alexcrichton

The issue here isn't Alex Crichton going rogue, but rather, some malware stealing his credentials to use them to publish more malware in crates.io

In this sense, the more well known and upstanding Rust developer, the higher the risk they will be targeted by such operations

b40d-48b2-979e 7 hours ago||
With crates.io using GH as its IdP, I think there would be much farther reaching consequences to account pwning in that scenario. I agree, though, that the security model for crates.io is only as strong as the weakest link there, and would pray someone like Alex is using physical tokens or the like for his MFA and can't be conned by a well-crafted email.
duped 9 hours ago|||
sys crates are also mostly generated and lack a lot of eyeballs. Sneaking something into the build.rs of a sys crate would not be difficult and would land in the builds of everything downstream of it.
b40d-48b2-979e 7 hours ago||

    would not be difficult
Surely that's why we see evidence of all these build script attacks, since it's so easy?
jchw 6 hours ago||
I had pondered the same thing about other package ecosystems in the past, in general. Now with the benefit of hindsight we can comfortably say that the absence of known (!) attacks doesn't really say anything about how relatively difficult an attack would be. Are -sys crates, or build script attacks, particularly potent? Who knows. When I did a cursory search, the only attempts I saw were at runtime rather than build time[1]. Which raises a good point; pwning a developer machine or CI box with a build script may be quite valuable, but if you might get that and prod with a runtime exploit, is the build time exploit that much more valuable? Guess it depends! (Of course, I personally think having at least optional build time sandboxing is even better than hoping it won't be valuable to attack.)

Of course, crates.io has surely had some malicious packages. (I'd assume it isn't all that unlikely there could be some undiscovered right now; it's definitely large enough for something like that to slip under the radar, even if it is relatively small compared to say, NPM.) But, I think it really hasn't had its XZ backdoor moment, its left-pad, where you really get to see how well it does or doesn't handle a serious challenge. Since I have actually not published on crates.io, I'm not really sure how the security posture is, but if it's more similar to other programming language repositories than it is to Linux repos, I dunno exactly why it would be hard to believe a high-level compromise is possible and could slip in (really, anywhere, be it a build script or otherwise.). Of course, "would not be difficult" is all relative. I'm sure many of these attacks are not really all that simple, but a lot of them aren't exactly groundbreaking either. It was well executed and took quite a lot of time, sure, but there wasn't all that much about the XZ backdoor that was novel. (Except maybe the slyness with which the payload was hidden in test files. That was pretty cool.)

[1]: https://blog.rust-lang.org/2025/09/24/crates.io-malicious-cr...

david_shaw 16 hours ago||
It's easy to be cynical because, yes, both the problems and solutions seem dead obvious in hindsight. But for a long time (and maybe even still), a hacker creed was "move fast and break things."

It's great that there's so much momentum in fixing the glaring problems with supply chain systems like npm, but I'm concerned that we're entering a new era of security-related problems caused in large part by agentic development.

I'm not just talking about Mythos/Glasswing surfacing vulnerabilities in pretty much everything it touches; I think the way we're developing software, pulling in dependencies, and potentially losing human thought modeling of complex systems is going to lead to a lot of hacked together software and infrastructure that humans won't fully understand.

I hope in a few years we don't look back at today and wonder how we could have been so naive -- how we failed to actually plan for the long-tail of AI development in a way that doesn't solve problems by attempting to just use AI to rebuild complex systems.

But the article was funny.

saint_yossarian 16 hours ago||
> But for a long time (and maybe even still), a hacker creed was "move fast and break things."

Was it? I thought Zuckerberg coined this horrible phrase.

david_shaw 16 hours ago|||
He certainly popularized it (maybe coined it), but I've seen a lot of organizations and developers repeat that mantra.

Even without the specific words, look to product teams debating tradeoffs of going to market vs. waiting for better security controls. They're pushing for faster product release every time, at pretty much every org.

cassianoleal 15 hours ago||
In any case, not really a hacker's creed. This has always been withinin the realm of corporations, especially Silicon Valley or adjacent.
pocksuppet 38 minutes ago|||
Hackers were moving fast and breaking things first. Faster than any corporation in fact. We didn't notice because their computers weren't powering anything useful. How do you think projects like GNU happened?
asah 15 hours ago|||
MFABT is about survival. Don't hate the player, hate the game.
walrus01 13 hours ago|||
Sir, this is not /r/linkedinlunatics/
jazzyjackson 14 hours ago||||
Don't know any hackers who talk like this. More "if you don't like the rules, play a different game"
cwillu 14 hours ago||||
I will absolutely hate the players that chose the game and designed the rules.
dxdm 14 hours ago||||
Por que no los dos? Some players seem very gleeful.
cassianoleal 15 hours ago|||
I'm not sure what you're responding to.
jerhewet 13 hours ago|||
Joel Spolsky.

https://www.joelonsoftware.com/2000/04/06/things-you-should-...

rectang 13 hours ago|||
I love that article, but the words "move", "fast", and "break" don't appear in it.
gfody 8 hours ago|||
https://www.google.com/search?q=sposky%27s+worst+essay&sclie...
raesene9 4 hours ago||
We don't need hindsight for the problems of supply chain security to be obvious. Security people were writing and doing talks about this stuff over 10 years ago, just (like most things in security) things start getting addressed once the pressure of incidents gets high enough :)
ObiKenobi 15 hours ago||
The maintainer of left-justify receives his YubiKey from yubikey-official-store.net. It is a $4 USB drive containing a README that says “lol.”

Got me seriously laughing... Such a troll.

sdenton4 14 hours ago||
Yeah that's great. I love that plugging in the USB device from the phishing site is, itself, another attack vector...
walrus01 12 hours ago||
I actually wonder if somebody used a fake identity to set up an account with a warehousing/shipment fulfillment company that stocks things and ships them, then set up the appropriate EDI pipeline to send shipping orders to it... What would be the results if a decently budgeted adversary made something attractive looking that shipped malicious USB flash drives to anyone that requested one.

I know we're not in the era when a windows pc will happily run any autorun.inf and .EXE file found on an inserted flash drive or DVD anymore. But even so. What if it didn't even have any malicious data payload but somebody was shipping USB-A interface capacitor based usb killers?

https://www.slashgear.com/1819672/usb-killer-explained-kill-...

What if it did have data on it and came with a slick color brochure walking people through how to run the binary, or in a linux or developer specific audience, how to 'sudo' the ELF binary that lives on its filesystem?

shakna 8 hours ago||
A USB that was both storage and a keyboard, that executed the keystrokes to download malware, was demo'd at a DefCon a few years back.
smsm42 10 hours ago||
I mean, this is way more than you would usually get from a fishing site - a functioning USB drive!
albert_e 7 hours ago||
Brilliant satire. So many gems.

> CI passed because the malware installed volkswagen

We need this to ocassionally make us stop and think about what we are doing.

ineedasername 13 hours ago||
>"The legitimate maintainer has won €2.3 million in the EuroMillions and is researching goat farming in Portugal..."

>"Root Cause: A dog named Kubernets ate a Yubikey

Ah, yes, irresponsible to get taken in by one of the well-known classic exploits. The 'ol "distract someone with a lottery windfall & make a dongle irresistibly tasty to another person's pet". When will people learn.

rmoriz 16 minutes ago|
I switched to EuroJackpot /s
EdwardDiego 12 hours ago||
As a Fish aficionado (Afishionado?) - I feel both attacked and seen by this:

> who asked us to clarify that the fish shell is not malware, it just feels that way sometimes.

And unrelated to shells...

> The author would like to remind stakeholders that the security team’s headcount request has been in the backlog since Q1 2023.

I also feel seen by this.

walrus01 12 hours ago|
> As a Fish aficionado (Afishionado?) - I feel both attacked and seen by this:

As an alternative, it could apt-get or dnf install 'figlet' and then overwrite the contents of /etc/motd with 'all your base are belong to us' in extremely large ASCII art font.

freakynit 1 hour ago||
Root Cause: "A dog named Kubernetes ate a YubiKey."

Technically... that's not even a joke... that really is what kicked off this entire chain of events lol.

This post reads like an actual movie lol. Someone seriously needs to make one based on this.

It has everything:

the missing key that starts the chaos, the scam nobody sees coming, one tiny mistake turning into a full-on domino disaster, sleep-deprived people making very confident bad decisions, the guy who disappeared to a farm living his best life while holding a critical piece of the puzzle... and somehow, in the final act, a completely unrelated villain accidentally saves everyone.

Imma 100% watch it..

red_admiral 16 hours ago||
This is the most SCP thing I've read in a while that's not actually an SCP.
hacker_homie 16 hours ago|
Ah yes a very rare:

Supply Chain problem(SCP)

Aachen 16 hours ago||
Thanks, I totally read that as secure copy despite the context
cxcorp 16 hours ago||
It's a reference to the SCP Wiki (https://scp-wiki.wikidot.com/)
bpavuk 14 hours ago|
the Karen one gave me a good laugh :D ;) reminds me of a `make`-based build script I once got when reviewing a classmate's project - it attempted to `rm -rf` my home folder if the hostname contains `bpavuk`. that was in seventh grade!!
More comments...