To be clear, -Qm displays installed packages not currently in the repositories. This will include AUR packages, but I avoid the AUR (except for davmail years ago) every once in a while I’ll run it just to check and sometimes it finds packages.
When you install things from the main repos the dependencies get installed too, and if those dependencies are no longer needed they’ll be removed from the repositories. (I also have a bad habit of forgetting --asdeps when installing optional dependencies.) Sometimes they’ll conflict with a new dependency and pacman will ask to remove and replace them, but other times the functionality has become a part of an existing package, so with no conflict to prompt removal they’ll just sit unused on your install. If you haven’t tried -Qm in a long while you’ll probably find a few harmless currently-unused packages that were installed through the normal repos. (-Qdt will cover the other cases where dependencies remain in the repos but are now only needed for packages you don’t have installed.)
Obviously -Qm will also show removed packages that aren’t dependencies, a few years back my preferred pdf viewer was removed from the repositories.
-Qm will also find manually installed packages that aren’t in the AUR if you ever do that.
You can then search the list of compromised packages.
Or just uninstall all AUR packages, instead of waiting for your ones to appear on that list, and having to re-install your full system to ensure its integrity.
And don’t forget that a system compromise means you need to re-install all in order to re-gain control of your system. Without the malware of course.
Edit: I see downvotes… Some people don’t seem to understand why running malware permanently destroys a system’s integrity. I do not have more time today - can somebody explain for me why?
I haven’t checked the scripts from OP, but i think there is a script that is provided by the CachyOS team that basically just contains a list of compromised packages and compares that to your pacman -Qm output. If it finds a match, it tells you that the compromized package X is on your system. That seems pretty reasonable.
I get your point and as always, you should check the source of the script as well as the code inside of it. Never installing anything outside of official OS repositories is probably not an option for most people. There are always pros and cons. Like in my example maybe some OS maintainers know more about the affected packages than I do with a quick search. On the other hand, the script might be outdated because the number of packages changed a lot over the last few days.
but i think there is a script that is provided by the CachyOS team that basically just contains a list of compromised packages and compares that to your pacman -Qm output.
So, the CachyOS maintainers suggest running untrusted code?
In which way is it untrusted? If you use CachyOS, you use their binaries, that could contain anything at all inside of them. Do you draw the line at a shelll script you can read yourself?
I don’t use CachyOS nor do I know anything about their team and I haven’t used the script either. My point was just that I would trust OS maintainers more than some random guy on the internet.
I have checked again and it seems the script I was referring to was actually from a mod on their community forum. Not sure if this is a maintainer as well or not.
My point still stands, if you trust the source and checked the code that nothing shady is going on, it is perfectly fine to run a script. Even if it is just an additional check after you cleaned it manually. Maybe you have missed something.
You are right that the distribution as it provides binary code is a trust root. If you can’t trust them, you have nothing to stand on.
I had the impression that CachyOS suggests to use AUR packages - maybe I am wrong here?
And if CachyOS is (what I am just assuming) geared towards less technical users, can you really expect their average user to examine shell scripts from a forum post?
How do their users even know that the post and its author is legitimate? Are they supposed to check PGP keys?
I have no idea about the stance of CachyOS on AUR packages.
I totally agree with you, establishing trust is not an easy problem. I don’t expect the average joe to understand shell scripts. I would put myself in that categorie as well. This one however was simple enough that it seemed okay to me. If I don’t understand what’s going on in a script I am really careful and try to avoid it, if possible. I still wouldn’t consider them universally bad. For some things it is even the recommended install option. I vaguely remember some things in the Raspberry Pi universe ( IIRC this was even the case for Docker in the past).
There are multiple factors which can lead to trust. Maybe you know the CachyOS forum and how well it is maintained. How old is the account etc…
But as you said, there are always risks. The account could be compromized as well. But most of that isn’t specific to shell scripts or Linux in general. You shouldn’t install an application from some shady website in Windows either.
What is your recommended way to deal with the current situation?
What is your recommended way to deal with the current situation?
don’t tolerate malware. Get out the big hammer. This is an attack on Linux.
be frugal on what you install
slowing down. Not everything needs to be bleeding edge.
perhaps use automated cooldown times of 2/4/8/12 weeks for changed packages, depending on software trustworthiness, and users experience. More cooldown for owner change.
each PKGBUILD in an own repo, with a single owner
removing all AUR recommendations from the Arch wiki
gather the user community to help with review and testing of AUR packages, transforming the most important ones into extra packages
score all packages by trustworthiness
reward quality and sane practices when trusting / scoring packages - fire up a competition for quality
build a web of trust, possibly with actually user-friendly software instead of GnuPG
construct a robust voting/package reputation system for normal users (this is very hard because by experience, reputation systems can easily be gamed, it will by all experience NOT work purely electronically)
ultimately trust in people, not personas or algorithms
The command
pacman -Qmwill display every package from the AUR on your system. You can then search the list of compromised packages.To be clear, -Qm displays installed packages not currently in the repositories. This will include AUR packages, but I avoid the AUR (except for davmail years ago) every once in a while I’ll run it just to check and sometimes it finds packages.
When you install things from the main repos the dependencies get installed too, and if those dependencies are no longer needed they’ll be removed from the repositories. (I also have a bad habit of forgetting --asdeps when installing optional dependencies.) Sometimes they’ll conflict with a new dependency and pacman will ask to remove and replace them, but other times the functionality has become a part of an existing package, so with no conflict to prompt removal they’ll just sit unused on your install. If you haven’t tried -Qm in a long while you’ll probably find a few harmless currently-unused packages that were installed through the normal repos. (-Qdt will cover the other cases where dependencies remain in the repos but are now only needed for packages you don’t have installed.)
Obviously -Qm will also show removed packages that aren’t dependencies, a few years back my preferred pdf viewer was removed from the repositories.
-Qm will also find manually installed packages that aren’t in the AUR if you ever do that.
Or just uninstall all AUR packages, instead of waiting for your ones to appear on that list, and having to re-install your full system to ensure its integrity.
And don’t forget that a system compromise means you need to re-install all in order to re-gain control of your system. Without the malware of course.
Edit: I see downvotes… Some people don’t seem to understand why running malware permanently destroys a system’s integrity. I do not have more time today - can somebody explain for me why?
I had more aur packages than I thought but none in the list. Is this just known ones and there could be more?
Of course. A compromised package can’t be on the list if it’s unknown. Hopefully not, but there’s still a possibility
Here are some scripts that can help too
(Edit: apparently i need to say to read and understand what these scripts are doing before running them. If you don’t understand what you’re running then don’t run them) https://gist.github.com/Kidev/85756c3dcad3623ca5604a8135bafd14
You suggest people to run more untrusted code in order to fix malware from untrusted code?
Is this a joke?
I haven’t checked the scripts from OP, but i think there is a script that is provided by the CachyOS team that basically just contains a list of compromised packages and compares that to your pacman -Qm output. If it finds a match, it tells you that the compromized package X is on your system. That seems pretty reasonable.
I get your point and as always, you should check the source of the script as well as the code inside of it. Never installing anything outside of official OS repositories is probably not an option for most people. There are always pros and cons. Like in my example maybe some OS maintainers know more about the affected packages than I do with a quick search. On the other hand, the script might be outdated because the number of packages changed a lot over the last few days.
So, the CachyOS maintainers suggest running untrusted code?
Noice. I don’t need to know more.
In which way is it untrusted? If you use CachyOS, you use their binaries, that could contain anything at all inside of them. Do you draw the line at a shelll script you can read yourself?
You can just check it and it wouldn’t be untrusted anymore…
You could inspect the script, it should be a one line shell command
I don’t use CachyOS nor do I know anything about their team and I haven’t used the script either. My point was just that I would trust OS maintainers more than some random guy on the internet.
I have checked again and it seems the script I was referring to was actually from a mod on their community forum. Not sure if this is a maintainer as well or not.
My point still stands, if you trust the source and checked the code that nothing shady is going on, it is perfectly fine to run a script. Even if it is just an additional check after you cleaned it manually. Maybe you have missed something.
You are right that the distribution as it provides binary code is a trust root. If you can’t trust them, you have nothing to stand on.
I had the impression that CachyOS suggests to use AUR packages - maybe I am wrong here?
And if CachyOS is (what I am just assuming) geared towards less technical users, can you really expect their average user to examine shell scripts from a forum post?
How do their users even know that the post and its author is legitimate? Are they supposed to check PGP keys?
You can call that paranoid but there is a reason why distributions use packkage signing, publish webs of trust, and why the Guix developers even worked hard to reduce the binary bootstrapping code for the distro down to 512 bytes - it is a consequence of the “trusting trust” problem posed by Ken Thompson that the more stuff is opaque, the more trust is needed.
I have no idea about the stance of CachyOS on AUR packages.
I totally agree with you, establishing trust is not an easy problem. I don’t expect the average joe to understand shell scripts. I would put myself in that categorie as well. This one however was simple enough that it seemed okay to me. If I don’t understand what’s going on in a script I am really careful and try to avoid it, if possible. I still wouldn’t consider them universally bad. For some things it is even the recommended install option. I vaguely remember some things in the Raspberry Pi universe ( IIRC this was even the case for Docker in the past).
There are multiple factors which can lead to trust. Maybe you know the CachyOS forum and how well it is maintained. How old is the account etc… But as you said, there are always risks. The account could be compromized as well. But most of that isn’t specific to shell scripts or Linux in general. You shouldn’t install an application from some shady website in Windows either.
What is your recommended way to deal with the current situation?
What do you think this does, in bash:
Is it best to uninstall all the supporting files too. Semes like there is an option to do that.