Could what has just happened to the AUR happen to FreeBSD ports?

Hi everyone,
potentially silly question coming so please delete this if it is irrelevant and accept my apologies in advance.

Given what has happened to Arch linux in the last few days, it made me wonder if something similar could happen here?

Are the ports checked/guarded to keep them free from anything dangerous or is the onus on the end user to check them or take them on trust?
 
What has happened to Arch linux?
And this should be in the offtopic category.
AUR got compromised. Malicious actor has updated more than 1500 orphaned packages with malware. And yes, it can happen on any distro or BSD. Perhaps not at that scale, but it can happen. Supply chain attacks are very common today. Get used to it.
 
Watch this talk as it will answer your questions / concerns (audio is missing the first 40 secs or so)
View: https://www.youtube.com/watch?v=ZGmuZz5ETHs&t=19276s


While a committers is supposed to review patches/commits before pushing to the tree there's certainly room for discussion whether that process needs to be tightened and be more carefully evaluated.
Edit: There have been no progress / discussion this since this talk about these issues
 
Watch this talk as it will answer your questions / concerns (audio is missing the first 40 secs or so)
View: https://www.youtube.com/watch?v=ZGmuZz5ETHs&t=19276s


While a committers is supposed to review patches/commits before pushing to the tree there's certainly room for discussion whether that process needs to be tightened and be more carefully evaluated.
spot on thank you. I ask because there are various models available and I always ask the question "who is paying the bills?". If the devs providing the free software are being paid by a company making money on enterprise products, they're very unlikely to introduce malware. If they're not being paid, then what are their motives? I know there many people who very generously devote their time to helping with open source projects, but lets be realistic, there will be just as many looking to make money by introducing malware.
 
If you carefully read the post there's timecode (below the "thumbnail"), if you want to complain about how the forums parses links do it to the forum admin.
at least you tried to answer my query without being snotty. It was very much appreciated 😊 The attitude of individuals like MrBSD are the reason take up is and always has been slow. Lets keep up the positivity and ignore basement dwelling trolls like MrBSD.
 
Depending on whethe the author is a committer or not, but basically non-committer authors need reviews by any committer(s) on whichever Bugzilla, Phabricator or GitHub pull request. My example of a review on Phabricator here. In this specific case, all individual reviewers are committers, but the author (or anyone priviledged) can assing non-committer reviewers to help committers who makes decision.

Note that any new committers need to be mentees of experienced committer (mentor) for a while, and while being a mentee, any commits needs approval of the mentor. Not sure how's going on ArchLinux project, though.
 
There is a myriad of human and technical solutions to this but it requires a lot of context to pick the right combination.

The first question to ask, is how one gets to be an impactful rogue maintainer. We've seen examples of rogue hustling out a real maintainer. But this AUR attack is thru gaining ownership of abandoned ports.

Both of these are somewhat solved by the human process if it can be established. It is a simple trust system that doesn't go far to eliminate deep sleepers, that can happen anytime anywhere, in CIA or KGB or FreeBSD. That sort of shit is still unseen in the open source world. Trust the verified people, the mentors. Trust nobody from outside. New committers are mentored over.

The thing is, a few new committers made a 400 port change over there in a week. I don't have to make analogies for that sort of stupidity.

If it is legit, it is somebody's concentrated AI act. They got funds to make AI refresh stale ports, or they will try to profit on the fact somehow.
That somebody should introduce himself first, and the whole thing should have been controlled.

I see no major problem here. The port ownership and controlling hierarchy can be established without putting load on the main ports guys because in real life nobody comes over and one shots 400 stale possibly highly non-important shit. What mentors need to take into account is hustling out the regular commiters. "Hi I am Zare and I'm taking over John because he went to a hospital" does not cut it. I am a new guy and should be treated as such.

Then we have several technical options, flagging system that goes up if a regular committer changes anything that can yield into different code paths taken in our domain of the build. Bumping up a version in the URL string, removing a dep would be allowed. A deterministic tool would go through this, and an local AI model could compare changes. Another system would be deployed to actually build the port. This system should not be discernable from a random FreeBSD installation, but it should be a snapshottable VM where the orchestration framework simulates keyboard input and scans the video framebuffer. Potential malware in the port build running as root should not be able to detect its being tested ala Volkswagen. As soon as the build finishes the machine is frozen into a snapshot and environment compared to what it should be.

I am going to watch the video but I don't think the situation is bleak because we seemingly have a better trust model going on with ports than AUR?

Btw. I don't imply above tech solutions should be done for every port, but for those that are already flagged as potential vectors, unmaintained niche stuff done by somebody overly zealous to do it, and potentially nags the reviewers for "velocity" and such.
 
No, it couldn't happen like this to FreeBSD ports.

1) there is no second-tier user grade package repository in FreeBSD, there is only one ports tree, committed to by committers.

2) the mechanism exploited for this was how AUR handles abandoned packages, allowing easier step-ins in case somebody wants to take over an abandoned package. FreeBSD has no such mechanism. Abandoned packages just rot until somebody takes offense and removes the whole thing.

ETA: in the AUR there was also spoofing of commit messages involved. Doesn't matter in FreeBSD since no mechanism depends on commit messages.
 
No, it couldn't happen like this to FreeBSD ports.

1) there is no second-tier user grade package repository in FreeBSD, there is only one ports tree, committed to by committers.

2) the mechanism exploited for this was how AUR handles abandoned packages, allowing easier step-ins in case somebody wants to take over an abandoned package. FreeBSD has no such mechanism. Abandoned packages just rot until somebody takes offense and removes the whole thing.

ETA: in the AUR there was also spoofing of commit messages involved. Doesn't matter in FreeBSD since no mechanism depends on commit messages.
this was the answer I was hoping for 👍
Obviously common sense is always needed and basic precautions, but I think some OSes and distros basically come with a use it at your own risk warning, Arch linux being one of them. Most people myself included don't have the time or expertise to examine every line of code, and are going to rely on others more knowledgable to do the checking 😊
 
Back
Top