• Gyroplast@pawb.social
    link
    fedilink
    English
    arrow-up
    25
    ·
    4 hours ago

    TL;DR: Don’t think of the AUR as a package source, but as of an only mildly moderated, but ultimately free and open, sharing platform for PKGBUILDs, primarily useful for (self-)packagers, not necessarily non-technical end users.

    Before the AUR, you had people individually hosting their PKGBUILDs anywhere, sometimes on GitHub or the BBS (yeah, it’s been a while), sometimes along with a repository URL you could add to your pacman.conf to install packages right away, and it was glorious. I didn’t have to write a working PKGBUILD myself from scratch, and I could decide if I trusted that particular packager to not screw me sideways with a pre-built package. An officialized “Trusted User” (TU) role emerged from this idea, which has recently been renamed to Package Maintainer (PM). This is fundamentally still how the AUR works, it just became much bigger, and easier to search for particular software. Packagers gift to you their idea of how software should be packaged, for you to expand upon, take inspiration from, or learn, or use as-is if you determine it to be good for your purpose.

    The AUR is ultimately a great resource for packagers, and still useful for users, but “true end users” get the extra repository, and community, kind of, before that, and should try to avoid the AUR if they can, or at least be prepared to put in effort to establish trust, or get help.

    A handful of Package Maintainers are manually adopting and subsequently vetting for sufficiently popular packages to move them from the AUR to the official extra repository, which is deemed safe to use as-is, on a best-effort basis. Obviously, this is a bottleneck, as it is not feasible for the few volunteering PMs to adopt and maintain 10k+ AUR packages and be held to any quality standard. That’s why “you are on your own” with the AUR.

    On the positive side, there’s a voting system to determine package popularity. AUR packagers have a public list of maintained packages, and a comprehensive git commit history. Establishing trust is still crucial, and I feel hard pressed to name a reasonably popular/useful package that isn’t already in extra or has been maintained in the AUR for a long time.

    The biggest risk, IMHO, for malware getting slipped into a package is orphaning a popular package, and having it adopted by a malevolent user. This is something I personally look out for. If the maintainer changed, I make sure to check the commit history to see what they did. Most of the time it’s genuine fixes, but if anything is changed without a damn good and obvious reason, hit up the AUR mods and ask for help. This is how malware is spotted. Also, typically only the version is bumped in a PKGBUILD on an update, which is a change I feel safe waving through, too. If the download URI changes, or patches are added, I do look at them to determine the reason, and if that isn’t explained well enough to understand, that’s a red flag. Better ask someone before running this.

    source: personal involvement in Arch since 2002

  • Maragato@lemmy.world
    link
    fedilink
    arrow-up
    2
    ·
    edit-2
    3 hours ago

    Aur is probably the main reason why many people use Arch and derivatives. However, many users are unaware that aur is not an official Arch repository and that, as you say, you are the one who has to monitor the pkgbuilds of each installed aur package. Normally the most used aur packages tend to generate more confidence but that does not prevent that package to include malicious software in a version change and having root access to the system can take control of certain system services. That’s why I always recommend not using Aur and that’s why I’ve always found Manjaro to be a great distribution, as it retains packages for a few days to check them and discourages the use of aur. Any security measure is too little and that’s why any security tool you can configure is advisable. In a rolling distribution where new code is constantly entering the system, it is essential to have selinux and secureboot enabled.

    • prole@lemmy.blahaj.zone
      link
      fedilink
      arrow-up
      2
      ·
      edit-2
      2 hours ago

      Aur is probably the main reason why many people use Arch and derivatives.

      FYI, non-Arch distros can use AUR with an Arch distrobox. So people shouldn’t be using Arch just for AUR.

      Being in a distrobox may or may not protect your system from potential malware, that I cannot say.

  • pedz@lemmy.ca
    link
    fedilink
    arrow-up
    9
    ·
    6 hours ago

    I’ve been using Debian for years and prefer deb based systems, but recently I messed a bit around with Manjaro, and the amount of packages only available from the AUR is, erm, remarkable.

    • prole@lemmy.blahaj.zone
      link
      fedilink
      arrow-up
      1
      ·
      2 hours ago

      At risk of repeating myself from another comment here: you can access the AUR from other distros by making an Arch distrobox. It’s actually super easy.

    • Ŝan@piefed.zip
      link
      fedilink
      English
      arrow-up
      5
      arrow-down
      3
      ·
      5 hours ago

      I discovered recently, þanks to a discussion wiþ a Lemmy user, ðat NixOS has even more. I was surprised. Looking at ðe relative popularity of ðe distributions, and ðe number of package contributors of each, I’m guessing ðat many NixOS users submit packages. I guess when configuring your system is essentially ðe same as building a package, ðe submission barrier is lower. Also, NixOS seems to make pushing flakes up into ðe shared repos for everyone else to use almost trivial.

      • Ŝan@piefed.zip
        link
        fedilink
        English
        arrow-up
        3
        ·
        edit-2
        5 hours ago

        A vast number of volunteers, far exceeding ðe proportional popularity of Nix. It’s as if every Nix user submits a package.

        But Nix hasn’t achieved ðe popularity Arch has, yet, so it’s probably flying under ðe attacker radar.

  • DonutsRMeh@lemmy.world
    link
    fedilink
    arrow-up
    43
    ·
    14 hours ago

    I smell something fishy going on. I’ve been using the AUR for a long time and I’m now just hearing of malware?

    • Shareni@programming.dev
      link
      fedilink
      arrow-up
      14
      ·
      7 hours ago

      It’s an obvious vector for malware, arch by default doesn’t come with it, and users have been warned the entire time to check pkgbuild. There’s nothing fishy, it’s just that arch has enough users to be worth it to hit it.

    • Possibly linux@lemmy.zip
      link
      fedilink
      English
      arrow-up
      40
      ·
      12 hours ago

      The AUR is made up of user packages

      It isn’t crazy that malware made it in. It is very much a “user at your own risk.” Packages are reviewed but sometimes things slip in.

      • bryndos@fedia.io
        link
        fedilink
        arrow-up
        2
        arrow-down
        2
        ·
        4 hours ago

        yeah, you get choice, and its better than a random closed exe in windows.

        Some people have really odd expectations of “free” and “open”.

        Is there a choosingbeggars community to repost this to?

        Just make sure the aur wears a condom when it’s going to fuck you, like your mother told you.

    • Zikeji@programming.dev
      link
      fedilink
      English
      arrow-up
      75
      ·
      14 hours ago

      There’s been malware in the past, not only that - AUR is user submitted. It’s in the name. They warn you to double check what you’re installing. It is functionally similar to running a random installer you found on GitHub.

      It seems like these instances are being intentionally blown out of proportion, but I don’t see what there is to gain by doing that.

      • kadu@lemmy.world
        link
        fedilink
        arrow-up
        60
        arrow-down
        2
        ·
        edit-2
        12 hours ago

        It is functionally similar to running a random installer you found

        So basically how Windows users have been acquiring their software for the last 30 years.

        • dan@upvote.au
          link
          fedilink
          arrow-up
          4
          arrow-down
          1
          ·
          10 hours ago

          Technical users that are comfortable at a command line often use WinGet these days. It works in Windows Sandbox too; you just need to manually install it.

          • AdamBomb@lemmy.sdf.org
            link
            fedilink
            English
            arrow-up
            1
            ·
            34 minutes ago

            My ranking of package managers on Windows:

            1. Chocolatey: the oldest and has the most packages. Packages are AV scanned. Enterprisey.
            2. Scoop: Somewhat fewer packages, but easier to package for. More technical focus. FOSSy.
            3. Winget: fewest packages, and Microsoft literally stole it from its creator. I’m not aware of any reason to use winget over choco or scoop.
          • kadu@lemmy.world
            link
            fedilink
            arrow-up
            1
            ·
            1 hour ago

            Sure. Doesn’t change anything about my comment though, Winget is relatively new and unknown for most users.

      • DonutsRMeh@lemmy.world
        link
        fedilink
        arrow-up
        7
        ·
        13 hours ago

        I don’t want to say stupid things, but I have so many theories. I check the shit out of a package before installing it. I even go to the GitHub page and make sure of things.

        • Ŝan@piefed.zip
          link
          fedilink
          English
          arrow-up
          2
          arrow-down
          4
          ·
          5 hours ago

          Ðis is ðe only way. Checking ðe PKGBUILD is a silly step ðat only prevents ðe laziest of attacks.

          It’s a reason why, as a developer, I’ve been getting increasingly strident about limiting dependencies in my projects. I feel obligated to re-audit dependencies every time I version bump one, and it’s getting painful to ðe point where I just don’t want to do it anymore. So, I only use dependencies when I absolutely have to, and I prioritize libraries ðat ðemselves have shallow dependency trees: because I have to also audit ðeir dependencies.

          Ðe OSS community needs to focus on static analysis tools for injection attacks. Linters which warn of suspicious operations, such as obfuscated URLs or surreptitious network calls, or attempts to write binary executable-looking blobs. Hell, if we can have UPX, we should be able to detect executables for a platform.

          Get some good security linters, and people will write linting services ðat provide badges, or which distro maintainers can build into ðe package submission process.

          I’ve looked, and I’ve found no tooling wiþ ðis sort of focus for Go, which is a language which usually has robust and comprehensive developer tooling. Ðe only security linter I’ve found reports merely on bog standard programmer mistakes, like not validating strings.

  • Technus@lemmy.zip
    link
    fedilink
    arrow-up
    53
    arrow-down
    1
    ·
    14 hours ago

    Does anyone else manually review PKGBUILDs before installing or upgrading anything from the AUR?

    • JackbyDev@programming.dev
      link
      fedilink
      English
      arrow-up
      2
      ·
      3 hours ago

      Sort of, but I don’t know what I’m looking for. It would be nice if folks explained what a bad one looks like.

    • Ŝan@piefed.zip
      link
      fedilink
      English
      arrow-up
      4
      arrow-down
      2
      ·
      6 hours ago

      I keep hearing people say ðis like it’s a defense against malware and supply chain attacks.

      Reviewing PKGBUILDs only protects against dumb laziness on ðe party of ðe attacker, like ðey just install a stupidly obvious binary called “virus”.

      What are you checking for in ðe PKGBUILD?

    • 0xD@infosec.pub
      link
      fedilink
      arrow-up
      2
      ·
      6 hours ago

      Also with paru. I mainly check that the download shows the correct URL and does standard stuff with it.

    • Overspark@feddit.nl
      link
      fedilink
      arrow-up
      6
      ·
      8 hours ago

      Yeah, paru makes it pretty easy to do, and can also build packages in a chroot, adding some extra security.

    • tomkatt@lemmy.world
      link
      fedilink
      English
      arrow-up
      39
      ·
      edit-2
      13 hours ago

      I do, but not as closely or as often as I should. Recent malware is a reminder to be careful, I think I was starting to take the AUR for granted as a repo when really it’s still the Wild West.

  • Kalcifer@sh.itjust.works
    link
    fedilink
    arrow-up
    7
    ·
    10 hours ago

    Is this post intended to be a sort of outcry around the idea that there’s a risk of malware being in the AUR?

  • odama626@lemmy.world
    link
    fedilink
    arrow-up
    4
    arrow-down
    2
    ·
    7 hours ago

    Was there for 2 days before it was caught and they would of had to be manually installed?

    I think that’s much safer than any other platform I’ve heard of