Hacker Newsnew | past | comments | ask | show | jobs | submit | mkeeter's commentslogin

Quote the original OpenAI prospectus, “it would be wise to view an investment in OpenAI Global, LLC in the spirit of a donation”.

Nice, I'll keep an eye on that!

Right now, I'm targeting everything (native / Firefox / Chrome / Safari), so minimizing use of extensions; this also means I get to run head-long into fun cross-platform behavior differences [1][2][3]

[1] https://github.com/gfx-rs/wgpu/issues/8785

[2] https://bugzilla.mozilla.org/show_bug.cgi?id=1870699

[3] https://github.com/mkeeter/halfspace/issues/1#issuecomment-3...


For the curious, this is technically possible in Rust using a dynamically sized type [1], but in practice is difficult and doesn't really play nice with the rest of the language. The nomicon entry concludes with "Yes, custom DSTs are a largely half-baked feature for now." [2]

[1] https://doc.rust-lang.org/reference/dynamically-sized-types....

[2] https://doc.rust-lang.org/nomicon/exotic-sizes.html


Probably because this is a post about Zig’s threaded IO, and complaints about Rust syntax is two conversational leaps away from that subject!


Another fun failure mode in the same vein: if you are emulating an NVMe device and declare that a write operation is successful once bytes are in memory, you will quickly find yourself buffering arbitrarily large amounts of data as "persist to disk" (SSD speed) falls behind "acknowledge writes" (RAM speed). If you do not add backpressure to your system intentionally, it will be added for you – and you may not like where it's placed!

(This also happens at the SSD level: burst writes can be very fast as data is buffered in the SSD's own RAM, then performance steady-states at the true write speed once that's saturated)


UFS WriteBooster not only have a buffer that eventually need to be flushed, since it uses flash cells with pseudo-SLC behavior, the write amplification is even higher, to the point that they give it a special flag because using it all the time will just kill the media faster.


if you use the linux kernel that amount of ram is tunable, and write will cause backpressure on its own when this is exceeded.


Flowise was acquired by Workday in August 2025 [1].

At the time, they posted "Flowise isn’t going anywhere, we’re doubling down. In fact, we’re only just getting started!" [2]

I wonder if "keep the platform running for >= 1 year post-acquisition" was part of the terms! Ah well, another one for Our Incredible Journey [3]...

[1] https://newsroom.workday.com/2025-08-14-Workday-Acquires-Flo...

[2] https://www.linkedin.com/posts/flowiseai_were-thrilled-to-sh...

[3] https://ourincrediblejourney.tumblr.com/


> This is a clean separation, and clean separations are worth noticing. They tend to be load-bearing.

oh hi Claude


Does one also get dopamine from using LLMs to write comments on Hacker News?


A repository search shows 2.2K repos with the text "A Mini Shai-Hulud has Appeared", all created within the past day:

https://github.com/search?q=A%20Mini%20Shai-Hulud%20has%20Ap...


The repository names all look like two terms/words from dune (harkonen, mentat, ornithoptor, etc.) followed by a number. This would indicate that the account (possibly GitHub auth/actions token) has been compromised and then used to create the repository.


Why can't GitHub get on the case and just block any repo where the README matches the regex? I thought they'd have learned their lesson the last time it happened.

This malware isn't even trying. Then again it's Microsoft so they're not even trying either.


6 minutes later an HN submission "GitHub blocks your account if you mention X in the README" with a top comment "This is absurd, are they just doing regex matching to check for malware?"


1. This happened less than 24 hours ago.

2. This is just one of the four techniques the worm uses to phone home.


“Some people, when confronted with a problem, think ‘I know, I’ll use regular expressions.’ Now they have two problems.”


https://github.com/tinin46

this account seems to store a lot of keys, not sure what theyre for


what's this all about?


Malware uploading the credentials it managed to steal


FTFA

> The attack steals credentials, authentication tokens, environment variables, and cloud secrets, while also attempting to poison GitHub repositories.


That doesn't really explain why there is a bunch of GitHub repos created as well.

If I remember correctly from Shai-Hulud 2, the attacker extricated creds by posting them in public github repos with minor easily reversible encryption. I believe it was double b64 last time.

I'm assuming the logic there is that every security researcher and company is going to pull and scan those creds for their stuff and their clients' stuff. So the attacker is just 1 of N people downloading it. As opposed to trying to send it to their own machine directly.


I think it's more about convenience and bypassing filters - developers are already logged in to github, already have access to create repos and publish code, firewalls will allow it. Even fancy HIDS systems will think the git push is rather normal.

If they have a clue, the attacker still will not download that without using a botnet tunnel or Tor at a minimum.

Note though that these credentials aren't even encrypted using some lightweight ECC to prevent others from capturing them, they're posted in cleartext. Embarassment might be part of the point.


With HN ettiquette in mind, I must make an exception: this is a case where skimming the first parts of the article would help a lot!

The public repo path is just one of four parallel paths, with the goal of getting around any barriers:

  The exfiltration component shares its design with the "Mini Shai-Hulud" mechanism from their last campaign, using four parallel channels so stolen data gets out even if individual paths are blocked.


Cryptic Titles Are All You Need


Consider applying for YC's Winter 2027 batch! Applications are open till November 2.

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

Search: