frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

EXIF orientation info in PNGs isn't used for image-orientation

https://bugzilla.mozilla.org/show_bug.cgi?id=1627423
1•justin-reeves•37s ago•0 comments

Show HN: Train a language model in the browser with WebGPU

https://sequence.toys
1•vvin•1m ago•0 comments

Show HN: PrinceJS – From Wrong Benchmarks to Honest Results (13yo Dev)

https://npmjs.com/package/princejs
1•lilprince1218•1m ago•0 comments

Russia-linked crooks bought themselves a bank for Christmas

https://www.theregister.com/2025/11/21/russia_cybercrime_bank_purchase/
1•beardyw•3m ago•0 comments

You probably shouldn't train an LLM in the browser - here's how

https://vin.how/blog/train-a-language-model-in-your-browser
1•FL33TW00D•3m ago•0 comments

Pixel Art Tips for Programmers

https://jslegenddev.substack.com/p/5-pixel-art-tips-for-programmers-3d6
2•ibobev•3m ago•0 comments

Segment Anything

https://aidemos.meta.com/segment-anything/
1•jonbaer•4m ago•0 comments

PrinceJS: Benchmark Corrections and Lessons from a 13-Year-Old Developer

https://github.com/MatthewTheCoder1218/princejs
1•lilprince1218•4m ago•1 comments

AeroSpace, i3-like tiling window manager for macOS

https://github.com/nikitabobko/AeroSpace
1•ndr•5m ago•0 comments

Operational debt is worse than tech debt

https://arnon.dk/operational-debt-is-worse-than-tech-debt/
1•arnon•5m ago•0 comments

Making a Small RPG

https://jslegenddev.substack.com/p/making-a-small-rpg
1•ibobev•6m ago•0 comments

It's time for our own Space Age

https://www.thomasmoes.com/52obsessions/its-time-for-our-own-space-age
1•thomoes•6m ago•0 comments

Spectral rendering, part 3: Spectral vs. RGB

https://momentsingraphics.de/SpectralRendering3Results.html
1•ibobev•7m ago•0 comments

Show HN: PageStash – Full-page web archival with knowledge graphs

https://www.pagestash.app
1•Aurelan•7m ago•2 comments

WhatsApp starts hiding full URLs in messages

https://old.reddit.com/r/whatsapp/comments/1p23hvi/whatsapp_is_hiding_links/
1•puttycat•7m ago•0 comments

Developer SaaS has one of the longest "effort before reward" curves

1•milanspeaks•8m ago•0 comments

Systemd-inhibit: a built-in Linux alternative to macOS's "caffeinate" command

https://evanhahn.com/systemd-inhibit-alternative-to-macos-caffeinate/
1•speckx•9m ago•0 comments

Show HN: Waist Level Finder Camera

https://happort.org/camera
1•luqtas•10m ago•0 comments

Package Hygiene in Alice, an experimental OCaml build system

https://www.alicecaml.org/blog/package-hygiene-in-alice/
1•stevebox•11m ago•0 comments

tmux-dotbar: a simple and minimalist status bar theme for tmux

https://github.com/vaaleyard/tmux-dotbar
1•valeyard•13m ago•1 comments

Ask HN: Have I found a bug in the debit card network?

1•gushogg-blake•14m ago•2 comments

Can you take an ox to Oxford?

https://alexwlchan.net/2025/ox-in-oxford/
2•furkansahin•19m ago•0 comments

Hh2h. Yeh3

1•hwjwj•19m ago•0 comments

Are you being rude to yourself?

https://herbertlui.net/are-you-being-rude-to-yourself/
2•furkansahin•21m ago•0 comments

Oxytocin modulates respiratory heart rate variability

https://www.nature.com/articles/s41593-025-02074-2
1•PaulHoule•21m ago•0 comments

'We've eaten it for 100 years': how stink bug infestations are made into lunch

https://www.theguardian.com/environment/2025/nov/21/turning-stink-bug-infestations-into-lunch-ind...
1•robaato•22m ago•0 comments

Switzerland's "Crocodile" Locomotive [video]

https://www.youtube.com/watch?v=lNEVnrYcvkY
1•sschueller•23m ago•0 comments

Vefru

https://vefru.com
1•jan-prochazka•23m ago•1 comments

Show HN: Yet another tailwind color palette generator but with AI

https://tailwindcolorgenerator.com/
1•yucelfaruksahan•23m ago•0 comments

Undo, Redo, and the Command Pattern

https://www.esveo.com/en/blog/undo-redo-and-the-command-pattern/
2•todsacerdoti•23m ago•0 comments
Open in hackernews

Offical XRP NPM package has been compromised and key stealing malware introduced

https://www.aikido.dev/blog/xrp-supplychain-attack-official-npm-package-infected-with-crypto-stealing-backdoor
55•flxga•7mo ago

Comments

MichealCodes•7mo ago
Cryptocurrency packages used at scale should have wallet decoys setup for early detection of vulnerabilities like this.
nailer•7mo ago
Red teaming this, you’d delay exfiltration of the private key until the balance passes beyond a certain amount and you’re on mainnet.
ohgr•7mo ago
I see the model of "download any old shit off the internet and run it in production" is working out so well.
nailer•7mo ago
I don’t have much opinion of XRP but this is their official package, not a community package.
tobyhinloopen•7mo ago
Fun fact: installing some common starter packages will explode to install over a 1000 npm packages, each of them can inject malware, even if the package isn’t used, and you’ll never know.

Many packages will have over a 100 dependencies if you include the dev dependencies, so you can easily break a 1000.

mouse_•7mo ago
That is a very fun fact.
nailer•7mo ago
Yes that is how dependencies work.
poincaredisk•7mo ago
The crazy part here is that in most other ecosystems 100 dependencies is "crazy high" territory, and in JS it's apparently "we're just getting started". It's known for its approach to micropackaging everything in a separate library.
greatgib•7mo ago
The crazy thing is more that multiple versions of the same package could be installed as dependencies of dependencies...

They were thinking to be the cool kids supporting multiple versions and that the old way to do packaging, like debian and co that expects everyone to use the same version, was the old legacy fart way to do things.

Just, developers before were engineers first and so designed things well especially to avoid this situation of dependency hell and supply chain injection. But the web dev crowd decided to do "better" and now to have old problems as new problems...

nailer•7mo ago
npm design allows multiple versions of the same package if required, but deduplicates otherwise. It’s a smart design that more package managers should and will follow.

Smart developers spend their time working on original code rather than rewriting the wheel.

nailer•7mo ago
Yes. It’s an engineering failure to have multiple copies of the same logic. That isn’t specific to JavaScript.
tough•7mo ago
does the postinstall script step has anything to do with this?

i noticed bun doesn't run them by default unless you whitelist them

koolba•7mo ago
That fetch(…) is sending the mnemonic of the private key out to that remote server.

Interestingly if this is happening in a long running process and that exploit server is offline, the promise for the fetch will reject. And the default behavior for unhandled promise rejections would be for the node process to crash.

So if anybody tried testing this version of the library in a net gapped environment, it would crash and fail out in CI.

The attacker should have silenced the error with a .catch(_ => {}).

mschuster91•7mo ago
> Previously only the packed JavaScript code had been modified.

Honestly it's time for the npm ecosystem to move to a model where only build agents running on npm's own infrastructure can upload binary artifacts, or to mandate reproducible builds.

And for a select set of highly used packages, someone from NPM should be paid to look over each release's changeset.

Both would have massively impeded the attacker.

mindcrash•7mo ago
Official and thorough support for SBOM* within major package repositories can not come sooner.

* https://en.wikipedia.org/wiki/Software_supply_chain

abhisek•7mo ago
We run similar npm package monitors. The use of exotic tld domains such as 0x9c.xyz kind of gave it away because YARA Forge rules have native signatures to detect such domains.

It will be interesting t explore how the project got compromised and malicious packages published to the registry.

nailer•7mo ago
.xyz isn’t exotic for blockchains.