This is the kind of stuff that keeps me up at night. Claude, ArtCraft, tons of other auto-downloading tools, are rolling 10'000's of code changes a month. If one compromised update snuck this guy in, it's kind of game over. The windows of opportunity for an attack like this seem to be widening the faster we "develop" software.
Makes me want to have like 5 separate computers:
- one for banking only
- one for development only
- one for web browsing only
- one for gaming only
- one for socials only
How else can you stay safe against a threat that exfiltrates your entire digital life in like 10 seconds?
Try QubesOS if you want this, you can have a separate VM for each isolated use-case. The OS itself is a lightweight hypervisor around the VMs (called "Qubes").
> threat that exfiltrates
No need for something new here, Claude Code (Auto + default settings) has a tendency of running "find"/"ls" on your home folder when it struggles with solving a problem. I wish I was joking.
Now of course people trust these AI companies not to do bad things(tm), but all it takes is replacing the model endpoint URL -or any kind of harness compromise- and nothing will seem amiss
Yea. Fedora has been one of my favorite OS's for years, but exactly what you describe "If one compromised update snuck this guy in.." has spooked me to something with a much slower release cadence. I guess I accept that more unpatched known vulns stick around, but yea when I start thinking about how many software packages -> the number of devs, build systems, etc. It just gets overwhelming thinking about how many threat actors are probably trying to get in from each avenue.
I'd love to hear other takes on this though... Current thought is to just use something with a whole lot of exposure, in a whole lot of environments, pretty far downstream so the package hits all of that exposure, and hope someone spots it, kinda like xz. I tend to keep my base OS extremely minimal and do all my real work in VMs.
I think this will be the perfect motivation for the rise of pure functional programming, like in Roc [1]. With a clear separation of side effects from the rest of the codebase, you can sleep much better knowing that a library that is supposed to do some pure computations will not exfiltrate your data to a weird corner of the Internet.
I do it like this, but on one computer, using QEMU. I have 3 different VMs for
- development & AI tools
- infra rollouts
- banking / other sensitive services
I have Steam Deck for gaming, and do most of casual web browsing still on host, because it's secure enough to use Firefox with ublock + privacy badger and enforcing SELinux. However, I dont use socials other than HN and Reddit under pseudonymous accounts. If I had real zuckerbook or instacrap accounts, maybe I'd have another VM for socials too.
AI dev environment gets its own SSD. The second SSD stays in, but since it's encrypted there's no way to exfiltrate the data unless you're of interest to nation state attackers. Theoretically the AI could destroy the other SSD but that's what backups are for, and the probability is low because well why would they bother. Boot level malware is possible, but franky that's well into paranoid territory so I'm not too bothered.
The other SSD is a normal setup where you do normal computer stuff. I don't access the dev SSD through it, I don't even mount it, although the danger seems minimal if you do. Banking, socials, gaming, whatever. No AI of any kind on it, aside from web portal for claude/chatgpt/whatever and possibly local AI model that gets no internet access.
No idea why I'd want to have its own setup split between gaming and socials, as an example. Better yet just toss all your twitter and bluesky accounts into a volcano, and consider whether to do it with HN as well.
Qubes OS might be a reasonable middle ground for this anywhere that you can't transport five computers.
this is what I do, and it's fairly cheap nowadays if you just buy 2nd hand, I actually go so far as having virtualbox VMs for some of those within the same computer (say I have my "important accounts" computer that has some virtualbox VMs with each a browser with only some of those).
Gaming is a windows PC that has only games (so who cares) and a ps5 (so I can rent games at the library for free), development is a linux PC (where I containerize most things, as well as firejail etc.), web browsing is an x86 imac, I don't do socials, I also have a completely separate linux PC for art/drawing.
The vast majority of these has been bought for a couple hundred dollars 2nd hand from ebay or local university surplus (say they have all the time m1/16gb/500gb for $300-$400 imacs, or dell 16gb towers, or tons of dell laptops), the only expensive one was the linux development one as I bought a 5950x/128gb when it came out, but it has served me well, as long as you stay away from windows/mac you can go very far with really cheap hardware (DDR3 is plenty for banking / browsing / socials / factorio).
> one for banking only > one for web browsing only > one for socials only
I feel like your phone is good enough for all of those, and generally secure enough unless you're rooting/jailbreak it
> Makes me want to have like 5 separate computers
This is a good, practical strategy. You definitely want to at least have a separate computer for finances and taxes.
I’ve been spinning up VMs or Docker containers for development. Run the harness inside the VM or container. Note I do this on Mac so the Docker containers are actually in a VM, but standard disclaimers about Docker not being meant for security apply.
Popular harnesses have mature enough remote access features that I can use the same interfaces and even mobile apps.
If you’re not familiar with Docker, you can even have an LLM set up the environment for you and help you start and stop the container. If you do this, be very sure that you switch to having a harness run inside the VM or container, not having the harness on the host machine run commands inside the container. If you do the latter style, it will be running commands on the host which is what you want to avoid.
I know it's a bit insane, but I do daily LTO-6 backups of my workstation. I was able to get a working setup for around $250 since I was willing to work with an "autoloader" drive, but honestly it works great and is really nice peace of mind to have my critical stuff protected. I keep banking to my iPhone these days -- though I can't say it's for sure safe. I probably should add that to the backup.
I've been playing with `tart`
I already have users for Work stuff and Home stuff and Rando stuff. Fast user switching is great, however sometimes I need to do a quick check on some Home stuff, while seeing all my work windows.
Usw VMs and isolate them according to separation of concerns. Same with mobile phones. Nix OS is also a good idea.
I am now developing with claude code on mobile and sandboxes and a few remote VPS I rent.
No more laptops, just a dedicated android device.
I developed a devops/admin tool and then its claude code + github
I sandbox my dev environment.. hopefully that protects at least a little bit.
For most things you can put a cooldown period on updates, like wait 7 days, since most of the backdoors and supplychain attacks get caught in that window. I hope.
I'm implementing a 2-computers rule:
- 1 computer and Google identity for administrative stuff: Primary accounts for AWS, Google. I also do accounting and have the list of customers. I still don't have any other solution than opening PDFs for the invoices, but it's better than nothing.
- 1 computer for programming, with a non-asministrator account for everything. Claude runs in Docker, with the dev directory mounted, .git:ro (read-only) and .env mounted to /dev/null.
But Claude tries to escape it A LOT. Claude is designed like a virus, we tell him not to do things, and it 1. tried to download the git binary from the internet, 2. read the remotes in the git directory and tried to access them, only blocked because it didn't have the credentials.
DEFINITELY forcefully block out Claude from seeing your .env files, it WILL try to brute-force an access to your intranet!!
All the extra code isn't really the problem, it's the insanely easy to attack "programming language package ecosystems", like NPM, PyPI, etc, compared to something like the Linux package ecosystem. But this is a much less common problem than malware and phishing. Supply chain is more of a concern than it used to be, but thousands of people get infected with malware or phished every day, versus relatively few supply chain attacks that get caught fairly quickly.
For your own user security, my suggestion is to stop using SaaS wherever you can. None of them are secure, and exfiltration is child's play. All SaaS I've worked for had terrible security.
Malware typically depends on two things:
1) Unpatched software. OS, apps, routers, etc. Always keep everything up to date on patches. 0-day exploits are rarely used because it burns a valuable resource. If you can use an OS that has very little malware (like Linux, MacOS) it reduces your risk. Malware also tends to lurk in certain spaces on the internet (porn sites, pirated media, shareware downloads, malicious ads), so staying clear of them also reduces your risk.
2) Persistent credentials. Most malware (at least when I was looking at it years ago) isn't very advanced/persistent. An advanced persistent threat may sit on your machine indefinitely until you login using credentials, but they may not use those credentials immediately. Sign in and out quickly (don't "stay signed in") and always use MFA, ideally a second device. Secured Android and iPhone devices are ideal for checking bank statements etc... but you must be vigilant not to install untrusted apps from App Stores (anything not from a major company), as they are more likely to infect you than your browser on normal/safe websites. If you can, try to use virtual credit card numbers, and use a credit rather than debit card for purchases.
Phishing largely depends on clicking a link in an email, but also SMS "alerts" and browser pages that look like OS pop-ups. To defend against these, use a password manager to generate random unique passwords everywhere, use MFA everywhere. For login, set up and use 1-click-login and passkeys, especially for the most important logins (bank, email). Don't share or reuse passwords or API keys for more than one thing; not only does it reduce the impact, but it helps you identify where the compromise came from.
I personally play "fast and loose" on my Linux desktop and don't run things in isolation. But if you want rock-solid security, the only real option is running applications in dedicated VMs, and only mounting files needed for that application. Don't depend on containers or sandboxes for security. If you want a "lightweight" alternative to VMs/containers, you can have multiple user accounts on your computer, lock each user account down (no reading/writing from other user accounts), and either login to different ones for different tasks, or run apps as that user and have them display in your current user's desktop.
Well, we don't have to use the tools you mentioned.
If there is no way to disable auto-update the application goes in the bin.
VMs would work pretty well.
You can use VMs and reset after use
+ one for keeping the others secure
> Makes me want to have like 5 separate computers:
I mean if you have only one there’s https://www.qubes-os.org/ but not sure about the gaming part, nor is it necessarily as good as separate isolated hardware.
Architecture page: https://doc.qubes-os.org/en/r4.3/developer/system/architectu...
I mean this is the basic premise behind QubesOS, but if you add isolation like Qubes wants, it does become very difficult to cross between apps.
I had a theory that in the future all online interactions would need to be brokered by an agent that can stay on top of all those changes, and that the internet would be a hostile if not unuseable —and possibly also illegal— place to visit without having a personalized AI broker that is insured, and that you pay for. It would begin with you owning the agent but it would end with the agent owning you.
For banking, you can avoid computers and just go in.
Will this even matter though? As long as these computers are on the same network, AI tools will find a way to get from one to the other if any of them are compromised
100% agree. Developers are playing with fire regarding cookie stealers, malware, data exfiltration.
Ideal setup:
- Dev machine
- Gaming machine (isolate downloading mods)
- Browsing machine
Isn’t this common knowledge that there are computers you use for banking, computers you use for windows 98 and computer you use for gaming?
For banking I use macOS/linux, sometimes iOS unfortunately but we all do sins
Maybe consume less sensationalist newsbits :P.
“ Makes me want to have like 5 separate computers”
You forgot one.
> How else can you stay safe against a threat that exfiltrates your entire digital life in like 10 seconds?
I moved part of my wealth to a private bank, on an account requiring several signatures (from different persons) plus a vetting from the banker for every single outgoing transfer. Not only are several manual signatures required, in addition to that the banker must call me before authorizing any transfer, even if it's only, say, 1 000 EUR (now it's not a retail bank and that's kinda the whole point: transfers are rare and when one is done, no matter the amount, a shitload of verification do happen).
In addition to that, I told my banker that should anything out of the ordinary happen (say an order to suddenly wire 100 K to Dubai or Erithrea or something), then he should go out of his way to make me come in person to the bank to confirm the transfer.
You must train your banker: you must demo him voice impersonation on the phone. You have to make him become totally paranoid too.
I'm not going to say he's my buddy, but he knows I know my shit and we regularly talk for 20 minutes on the phone.
Any transfer to a new bank account: long discussion explaining what that account is and why I'm moving money there.
I've also got digital files (say administrative stuff, stuff from notaries, etc.), encrypted, that I myself cannot easily access. For to access them I must physically go to my safe at a bank first. And trying to impersonate me physically at the bank to steal my stuff means: "on your way out, you risk being locked in the secure airlock and then spend years behind bars".
> Makes me want to have like 5 separate computers:
I have a setup not totally unlike that. For example one phone with one additional app: the country's official "electronic ID" thinggy. And I don't browse from that phone.
I've got several computers and there's definitely my "trash computer", complete with bogus email accounts and crappy apps, etc.
> How else can you stay safe against a threat that exfiltrates your entire digital life in like 10 seconds?
The first thing is recognizing there's an issue if someone hacking your unique email then can steal everything you have. Many people stop there: they think, as in the XKCD, "it's game over anyway if someone gets my email, so I may as well not worry about it".
That is the mentality of losers.
You're already well ahead of the crowd by recognizing there's a problem and by thinking about solutions.
Many things can be done to lower the risk of a full compromise. I've got two physical LANs and the absolute most sensitive stuff (e.g. my banking apps) are done from a computer that does nothing but email + bank.
So it's not just a separate computer: separate computer on a separate physical LAN (not a VLAN). And there a tiny Pi doing the bridging between the two LANs. And of course it's got a serious firewall (a lost art, but it could make a comeback with the help of LLMs).
Something else that can help is stuff like Google Workspace and keeping the credentials for the admin account very secure and hardly ever logging into it. That way if "[email protected]" gets compromised, there's still "[email protected]" that can help get back control of [email protected].
> - one for development only
I've got a user account for dev only.
> - one for gaming only
A dedicated computer for gaming yes.
> - one for socials only
Besides HN, I don't need those.
It's a wild world out there.
The hacks won't stop coming and you're not anywhere near paranoid enough.
[dead]
[dead]
[dead]
[dead]
... but, but, sama says we having his RAM is bad! And now you want 5, not 1 of 'em precious compute receptacles!
You can thank the npm and the like.
Before, people were responsible for the dependencies they were importing.
With npm and all the javascripters flooding the market, it became normal to be irresponsible "because everybody is doing it".
Fast-forward a couple of years, now everything is web based, even the stand-alone app version. No one knows what is running on own computer, even the Devs themselves don't know what the are asking you to run...
With a pinch of vibe coding on top, and thats the end.
We took 40 years for our industry to be taken seriously, it's all gone now.