logoalt Hacker News

computatoryesterday at 6:46 PM5 repliesview on HN

I'd like to use it, but I'm hesitant to use anything that isn't a reviewed and approved package in my Linux distribution. Even if the chance is 1% that a program I download has malware or security problems that even the author doesn't know about (eg., due to libraries used), odds are that my system's going to be compromised if I run 50 such programs. This extends to browser add-ons, bookmarklets, and extensions too.

How do other people handle this dilemma?

Even solution I can think of involves are a great amount of extra work.


Replies

nobody42today at 12:14 AM

And it's a proper way to use computer nowadays.

Apart from high-overhead solutions like VMs and containers, there are seamless and maintenance-free solutions (after the initial setup):

- systemd service hardening [0] [1]

pretty powerful, but it's a blacklist approach - whack-a-mole

- AppArmor [2]

Whitelist, proactive approach. Contrary to SElinux, it's not a programming language, and could be grasped pretty quickly. I made a tool to easily convert AA logs into usable rules. [3]

[0] https://github.com/alegrey91/systemd-service-hardening

[1] https://github.com/desbma/shh

[2] https://presentations.nordisch.org/apparmor/

[3] https://github.com/nobody43/apparmor-suggest

TeMPOraLtoday at 7:39 AM

> How do other people handle this dilemma?

For me: consider this a form of paranoia and ignore it, while worrying more about cleanup costs of non-vetted packages.

Like, even if there is 5% chance that a program I download will start downloading global python or node packages, odds are within a year I'll deal with couple that have mutually incompatible requirements and are impossible to run without more VM surgery than I have patience for, and that I'll discover this only after a botched installation bricks software that used to work before.

But that's solvable with less extra work. Just throwaway containers. With no hand-wringing about read-only access or isolating it from network, because my threat modeling doesn't consider loss of privacy or any data leak from my personal local side to be realistic or impactful threat event (I mean, everything that matters is in someone else's cloud and by design not trivial to access) - OTOH, it assigns great magnitudes to loss of personal time.

BrokenCogsyesterday at 6:49 PM

Clone the repo and ask your llm of choice to audit any security risks

show 3 replies
invalidatoryesterday at 10:10 PM

I think the best answer lies somewhere in compartmentalization and fine-grained permissions. In this case: run it in some kind of secure container which has access to read browser history, and write to its database, but definitely does not have network access.

Unfortunately there's no one-size-fits-all solution for this yet, but there are a lot of groups attacking it from different angles: Qubes, GrapheneOS, Firejail, Bubblewrap, Android/iOS app permissions, Landlock, App Sandbox, etc.

show 1 reply
Zephyrixyesterday at 9:02 PM

Distro maintainers aren’t infallible either. At the end of the day it’s up to you to decide where and how much trust you place and do your due diligence from there.

One thing that can be helpful when reasoning about things like this is figuring out what your actual threat model is. What does system compromise look like to you? Data exfiltration, arbitrary code execution, something else?