frontpage.
newsnewestaskshowjobs

Open Source @Github

fp.

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•1y ago

Comments

MichealCodes•1y ago
Cryptocurrency packages used at scale should have wallet decoys setup for early detection of vulnerabilities like this.
nailer•1y 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•1y ago
I see the model of "download any old shit off the internet and run it in production" is working out so well.
nailer•1y ago
I don’t have much opinion of XRP but this is their official package, not a community package.
tobyhinloopen•1y 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_•1y ago
That is a very fun fact.
nailer•1y ago
Yes that is how dependencies work.
poincaredisk•1y 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•1y 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...

koolba•1y 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•1y 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•1y ago
Official and thorough support for SBOM* within major package repositories can not come sooner.

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

abhisek•1y 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•1y ago
.xyz isn’t exotic for blockchains.
nailer•1y 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•1y ago
Yes. It’s an engineering failure to have multiple copies of the same logic. That isn’t specific to JavaScript.
tough•1y 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

LoongFlow: Loop engineering and structured memory for long-horizon tasks

https://github.com/baidu-baige/LoongFlow
1•ignoramous•1m ago•0 comments

California Historical Radio Society

https://californiahistoricalradio.com/
1•edoceo•3m ago•0 comments

Why this philosopher turned down Anthropic

https://www.ft.com/content/bdb3b820-905b-431e-82c0-386535755af1
1•uxhacker•4m ago•1 comments

Ask HN: Which Jabber clients not only support SCRAM+ but also alert users

1•Bender•5m ago•0 comments

My experience working with Palantir as a Client

https://old.reddit.com/r/dataengineering/comments/1v3u40k/my_experience_working_with_palantir_as_...
1•root-parent•5m ago•0 comments

Privacy first, visual data transformations in the browser

https://yuvallb.github.io/RefineIt/
1•yuvallb•5m ago•0 comments

The Pixels That Shouldn't Have Been There

https://oaleinyk.substack.com/p/the-pixels-that-shouldnt-have-been
1•dinlashades•8m ago•0 comments

Where is Venezuela's oil money?

https://www.youtube.com/watch?v=EzvdGKs05Rc
1•penguin_booze•9m ago•0 comments

Canada is taking an outsized role in the construction of the post-American world

https://www.theglobeandmail.com/opinion/article-carney-canada-role-post-american-world-trump/
4•Teever•10m ago•0 comments

Some combinatorial applications of spacefilling curves

https://www2.isye.gatech.edu/~jjb/research/mow/mow.html
1•shraiwi•11m ago•1 comments

Show HN: Brolly, a plain-text weather forecast site

https://brolly.sh/forecast/RWFP2qW8
1•jsax•14m ago•0 comments

Inside Ukraine’s Kill Zone

https://www.reuters.com/graphics/UKRAINE-CRISIS/KILL-ZONE/znpnojmknvl/
2•JumpCrisscross•16m ago•0 comments

Ask HN: How to get your open-source project gain popularity?

1•Hussain04•16m ago•2 comments

DEI Fraud and Cover-Up at Cambridge

https://ncofnas.com/p/dei-fraud-and-cover-up-at-cambridge
1•nextos•17m ago•0 comments

AI in the Breach: How an Adversary Leveraged AI to Target a Water Utility's OT

https://www.dragos.com/blog/ai-assisted-ics-attack-water-utility
1•MariusGjerd•17m ago•0 comments

Is It Time to 'Liquidate' the Study of Sociology?

https://www.wsj.com/us-news/education/is-it-time-to-liquidate-the-study-of-sociology-6b85ac14
2•JumpCrisscross•19m ago•1 comments

Nvidia Open Sources First GPU-Accelerated Medical Physics Simulation Framework

https://blogs.nvidia.com/blog/medical-physics-simulation-open-source/
2•saikatsg•20m ago•0 comments

Are the Enhanced Games an existential threat to fairness or a cure for death?

https://www.newyorker.com/magazine/2026/07/20/rope-a-dope
1•momentmaker•20m ago•1 comments

My hobby compiler is now compiling a company's production app

https://edgepython.com/getting-started/introduction
1•dylansuttonc•21m ago•1 comments

The rock star founder behind China's Moonshot AI

https://www.ft.com/content/4730ad91-66aa-477c-9246-6d946afb0c8c
1•nhannht•22m ago•0 comments

Small context menu encryption tool

https://github.com/jvsteiner/fingerlock
1•javast98•25m ago•1 comments

Feedboard – An open-source feedback, roadmap, and changelog

https://feedboard.io/
1•chiragasarpota•25m ago•0 comments

Action Potentials for July

https://neurobiology.substack.com/p/action-potentials-for-july-505
1•paulpauper•26m ago•0 comments

My Dog Is The Best – A dog journal

https://mydogisthebest.org/
2•rrr_oh_man•28m ago•0 comments

Codeberg Disallows Cryptocurrency Projects

https://codeberg.org/Codeberg/org/commit/f383b648fd733ab88083dc390b91e77cd7589980
3•cdrnsf•28m ago•0 comments

GrapheneOS duress PIN could land a man in prison

https://www.androidauthority.com/grapheneos-duress-pin-us-prosecution-3691271/
8•samtheprogram•29m ago•4 comments

India's 'cockroach' movement halts protests after minister quits

https://www.ft.com/content/5f267b7d-9e57-40f6-9bb5-6fe5d6cf9d1d
1•JumpCrisscross•29m ago•0 comments

The Bliss of Graphene

https://srikanthperinkulam.com/2026/07/20/the-bliss-of-graphene
2•speckx•31m ago•0 comments

Magic codec – preprocessing for the Python interpreter (2024)

https://github.com/Tsche/magic_codec
1•zbentley•32m ago•0 comments

Bloomberg published an article based on false information sent from a fake email

https://twitter.com/yatharthmann/status/2081016902890168741
3•porridgeraisin•32m ago•0 comments