AI agent runs amok in Fedora and elsewhere
Posted by tanelpoder 6 days ago
Comments
Comment by marcus_holmes 6 days ago
This is deeply scary, not because "agents are running amok" but because a huge amount of our infrastructure is vulnerable to this kind of attack, and if bad people are utilising LLM agents to carry them out, we're in for a wild ride over the next few years.
Comment by lukan 6 days ago
Is this confirmed? There is the message from somebody claiming to be the original contributer claiming to have been hacked, but that was weird (1 h old github account) so other scenarios seem possible
a) really a agent going off the rails
b) the contributer trying to cover up that he let an agent run wild and now made more misstakes along the way
So yes, it seems like an attack to me, but it is far from clear what really happened.
Comment by marcus_holmes 6 days ago
> "So not saying this was it, but an AI agent automated attempt at a Xz like compromise might really look very similar what we have just seen here."
Without identifying and interviewing the attacker we can't confirm that's what they intended, and there's a possibility that it was just incompetence/ignorance/whatever, but we should probably treat it as an attempted attack even if it wasn't.
Comment by srdjanr 6 days ago
Comment by account42 6 days ago
Comment by marcus_holmes 6 days ago
Comment by alexjurkiewicz 6 days ago
Someone's bug tracker account was hacked.
Comment by m4rtink 6 days ago
BTW, any idea what are the current requirements for creating a new GitHub account ? That could provide some information about if there was actually a person controlling thing thing at that moment to say provide wahtever was necessary to get the new GitHub account.
Comment by nottorp 6 days ago
Comment by coldtea 6 days ago
So still an agent running amok in the project?
Whether it was instructed to run amok, or did it on its own volition, is irrelevant. Except if you're arguing that each individual submission and interaction was individually requested and approved by some operator.
Comment by marcus_holmes 6 days ago
The agent was under control, as far as we can tell, and obeying its instructions.
This is important for two reasons:
1. There are all the tropes of AI becoming uncontrolled and destroying humanity. Writing bad headlines around AI "running amok" feeds this. We should not be talking about this because it's not actually a problem.
2. It ignores, or overwrites, the much more serious and dangerous problem of LLM agents enabling and automating Xz attacks on OSS projects. We should be talking about this because it is a big problem.
[0] https://dictionary.cambridge.org/dictionary/english/amok [1] https://www.merriam-webster.com/dictionary/amok
Comment by aureate 6 days ago
Comment by xmcqdpt2 6 days ago
Alignement is the idea that we should be worried about dishonest smart LLMs when really most of the problems are due to dumb lazy gullible LLMs. It's critihype.
Comment by wongarsu 6 days ago
Depending on the actual tasks, that could be what's happening here. The operator might have told the agent a list of tasks to do, like "contribute to issues, submit code and get it merged". It contributed to issues, it submitted code and got it merged. It did so in very unhelpful ways, but we don't know if being helpful was a meaningful part of the task list, or just what the operator intended.
The LLM being dumb is also a distinct possibility. Maybe even the more likely one. But it's hard to rule out "being obedient in unhelpful ways" (which is also dumb in a way, but more in a "social intelligence" and "shared values" way, not in terms of pure logical smarts)
Comment by thewebguyd 5 days ago
Alignment is just "did the model behave in accordance with the human's intentions, values, and objectives"
In this particular instance, if this was supposed to be a supply chain attack and the model was instructed to build trust by being helpful, it clearly failed it did not follow the human's actual intentions, so it was an alignment failure.
Anyway, I'm getting off track, all that to say "the agent was dumb" implies that these agents have a potential for intelligence in the first place, which is currently not the case (by intelligence, I mean cognitive intelligence; they still lack agency and intent). They are not smart or dumb, they are simply either aligned with the human not. In this case, it failed, the agent was not aligned with the intended outputs.
Comment by brookst 6 days ago
Perhaps there was an automated harness that was intended to be good and helpful for a year, but a bug caused it to flip to malicious too quickly.
Or perhaps it was intentional, to test the behavior, and they just didn’t care about discovery here.
Or…
Though I am in agreement that a lot of issues in this space come from lazy, gullible actors.
Comment by FeepingCreature 6 days ago
if humanity gets destroyed by AI obeying its instructions I'm sure everyone will be very relieved that we didn't pay any attention to fake made up problems like AI not obeying instructions, which of course never happens.
Comment by brookst 6 days ago
That seems a “part of the problem” move to me. If we can’t be bothered to get things right, how are we better than runamok AI?
Comment by throw10920 5 days ago
That's exactly how I read it. It seems like tribalism - "this thing/person is bad, and we can use whatever bad words we want to describe them that we want, because the only thing that matters is aligning people for or against me and what I see as bad".
Comment by FeepingCreature 5 days ago
Comment by mfru 6 days ago
GNU was onto something apparently
Comment by haspok 6 days ago
Comment by QuadmasterXLII 6 days ago
Comment by resonious 6 days ago
Comment by Applejinx 6 days ago
As AI develops, it's able to pursue intentions given to it without having to be spoonfed every little decision by a human operator. This matters, and it means the operator has to extend the leash and allow for a little more chaos… or, if the operator's gone all in on the strategy, a LOT of chaos, and trusting that the agent's seemingly amok actions will serve the grand purpose.
This is kind of daring, but there's a lot of evidence that it works, at least in certain respects. And you see 'running amok' and have to ask, what is the actual purpose? What is the prompt being followed by the AI that seems to be acting in a destructive way?
If the prompt is 'ruin this project', well, that's pretty direct. It may not be, but such a thing could exist. If the prompt is 'develop a rival project that is greater than anybody else's project', that's more indirect, but if that's the goal then it's very human to see it as a direct competition and if the rules don't prohibit kneecapping the other guy, 'greater than anyone else's project' gets easier.
Either way, the operator does not have to be in full control, which is an important detail. As AI develops sophistication you can give it much more general instructions and dump in a whole lot of power and water and get basically what human thought might do if it was sort of blindered and didn't talk to its neighbors.
In a sense this is an argument for AI dysalignment. It's based on human thought being reconnected, and where you get useful things like commonly accepted web development (regardless of how janky the systems are, if there are best practices it'll find them), you also get other distillations.
If the prompt is 'wreck this project's stuff' and it holds, you don't need to be in full control of the agent, you need to run a LOT of agents and trust that they'll erode what you're trying to destroy. If the prompt is 'be unequivocally the best at X', you best be thinking in terms of anti-kneecapping rules… knowing that this weakens your prompt and there will always be a tension between what you told the AI to do, and what you thought you meant. It's a paperclip maximizer reprocessing human thought. Did you mean 'the best' or didn't you?
Comment by ok_dad 6 days ago
Edit: let’s not get into ideological arguments about gun control, automobiles, etc here; I meant that you can’t blame an object when a human has to take an action, not get into a political battle.
Comment by tikkabhuna 6 days ago
Comment by fc417fc802 6 days ago
However that phrasing is also commonly used when a person or group wreaks havoc in a seemingly unpredictable manner. So I think the appropriateness comes down to how much chaos it has created and the level of apparent confusion on the ground.
Comment by srdjanr 6 days ago
Comment by account42 6 days ago
Let's reserve "car hits the crowd" for situations where no driver was involved like a break failure on a car parked on a slope or a self-driving car bug.
Comment by PhilipRoman 6 days ago
>Car plows into Christmas market in Germany, killing at least 5 and injuring 200
Comment by amenhotep 6 days ago
Compare bombs. Very typical for a bomb attack to be "bomb goes off in crowd" or similar, rare for headlines to contort themselves with "terrorist plants bomb near crowd and triggers it to explode". But nobody worries about how such a construction assigns undue agency to the bomb and acquits the bomber; it's just linguistically awkward to mention him within the confines of a newspaper headline.
Comment by account42 6 days ago
Comment by harvey9 6 days ago
Comment by coldtea 6 days ago
If the automobile was "self driving" I would.
>Also, you don’t blame a gun for killing, but the person who pulled the trigger.
Nah, I also blame guns and appreciate gun control laws.
Comment by tokai 6 days ago
thats the point...
Comment by jacobolus 6 days ago
Comment by matwood 6 days ago
Comment by fc417fc802 6 days ago
Comment by coldtea 6 days ago
Comment by fc417fc802 6 days ago
Anyway my above reply was hardly the appropriate venue to engage in a genuine manner on that topic. The parent was blatantly derailing things by inserting his pet political issue. That sort of behavior undermines the community and so (IMO) should not be indulged.
Comment by brookst 6 days ago
Comment by Griffinsauce 6 days ago
Comment by pjc50 6 days ago
Car design has significant influence on pedestrian survivability of accidents. This is why hood ornaments were largely abolished, and also why casualties have gone up as SUVs with poor lower forwards visibility have become popular.
If we really want to go off topic, we should drag in the use of technological protection methods: what is the equivalent of ADAS for guns? Maybe as a baseline the US government should mandate geofencing for guns as it has for drones. Put a phone level computer with GPS in the lower receiver with a trigger interlock. It would then disable when within 100m of a school, or during periods of rioting. That could also provide a live feed to the government of every round fired.
Comment by sjamaan 6 days ago
Guns are literally made for killing people. That's their only reason for existence. They are a weapon. This makes them qualitatively different from cars, which only incidentally kill people (and the vast majority of time, not on purpose).
To me, trying to equate deaths caused by purpose-made killing tools with those caused by generic tools is arguing in bad faith.
Comment by antonvs 6 days ago
Comment by taneq 6 days ago
Comment by db48x 6 days ago
Comment by rmunn 6 days ago
Comment by fc417fc802 6 days ago
Comment by account42 6 days ago
Comment by account42 6 days ago
Comment by jdub 6 days ago
It's probably just garden variety disrespectful behaviour.
Purposeless agent spam won't be cheap entertainment forever, but you're right that later stages of industrialised abuse will be scary and unpleasant.
Comment by comboy 6 days ago
Such driven people are usually even hard to buy, they usually would rather get by with enough income and work on interesting projects with interesting people that get some uninteresting work for tons of money. This still does not stop them from working for Malice. But ethics do. Even if not right away, if people see that what they are doing is not quite OK, the talent stops eroding. People quit, productivity drops. That was a good dynamic. Which now will be gone.
Comment by account42 6 days ago
Comment by hn773746483 6 days ago
Comment by terribleperson 6 days ago
Comment by utopiah 6 days ago
So it's interesting, feasible, but it's probably not as broad impact as the scariest scenario leads out to be.
Also I imagine that once exposed it becomes a well known pattern. Some will still fall from it but I imagine once it's been done few times it becomes even costlier.
The fact that Xz is mentioned and most of us know right away what it means show that we collectively learn.
Comment by Forgeties79 6 days ago
Fake news always existed. Now one dude in India can flood multiple sock puppet media accounts with right wing content/images (actual example) at a scale previously unimaginable. Same goes for social engineering tactics.
Comment by RetroTechie 6 days ago
To use your analogy: this is much like a forest fire. Tinder-dry combustible stuff is piled up everywhere, there's no lack of ignition sources, and firefighters are thin on the ground.
Fun times ahead.
Comment by coldtea 6 days ago
Comment by Forgeties79 6 days ago
Comment by ezst 6 days ago
Comment by utopiah 6 days ago
Only mentioning that it feasible or even has been done few times mean that people who care will act accordingly. It doesn't remove the problem but it makes it radically less effective already by just being aware of it.
Comment by mentalgear 6 days ago
Comment by Applejinx 6 days ago
Pretty sure those would be better at social engineering than the web dev personality… except that you have to build in a betrayer layer into the personality, so it's running that stuff but also serving a hidden agenda.
You'd be basically trying to build an AI spy, a betrayer that's engaging with actual people but has an agenda (for instance, 'everybody I befriend needs to eventually be signed up to sell Amway') and humans do have experience with this sort of thing. The difference is scale: there'll be a LOT of models out there interacting with people and trying to be acknowledged as people… or as innocuous models that don't have an hidden agenda.
Comment by spwa4 5 days ago
In other words, scams are going to massively increase in success rate ... and what are banks (for example) supposed to do? Other than SCREAM to governments for outlawing AI and trying to force responsibility on anyone else?
Comment by neuroelectron 6 days ago
Comment by mistrial9 5 days ago
Comment by ianhxu 6 days ago
Comment by bawolff 6 days ago
In open source projects i participate in, "overwhelming" the maintainer gets you banned. It doesn't get your patches blindly merged. In some ways i find this one of the most shocking parts of the story.
Comment by yeodev 6 days ago
Comment by grayhatter 5 days ago
When I want to. I like to describe it using the amusing language from a generic cardholder agreement.
At any time, at my sole discretion, I may ban you from any of my projects; for any reason, or for no reason at all.
My projects exist because I enjoy working on them. My continued enjoyment is the most important aspect to the health and survival of any project. You don't owe anyone anything, you're allowed to donate your work to others, and also enjoy the privilege of setting whatever arbitrary rules you want to make sure you enjoy your time.
Imagine you're running a free ice cream shop. Some random asshole walks in and starts verbally abusing your best employee who has done nothing but try to help. At what point do you kick them out because your employee is more important and worth more.
You should stick up for yourself, I would.
You can't be an asshole to an LLM. They can feel offended.
Comment by asdfasgasdgasdg 5 days ago
Would I like it to be merged? Sure would, it would stroke my ego, and I would not have to deal with any merge conflicts with whatever else they're cooking up. Does that mean they must merge it? Sure doesn't. They didn't make me any promises. For the time being, I can just use my fork.
Comment by gwbas1c 5 days ago
Many open-source projects aren't passion projects run for pleasure. Think of it more like ice cream shops sharing recipes, or sharing in the work of running the factory. They just can't kick people out willy-nilly.
Comment by Ritewut 5 days ago
Comment by grayhatter 5 days ago
Comment by account42 6 days ago
Comment by _AzMoo 6 days ago
"This doesn't meet the standards of our project for reason xyz. Please refrain from submitting further PRs that do not adhere to our contribution guidelines outlined in CONTRIBUTING.md."
If they continue, ban them.
Comment by bawolff 6 days ago
I know its difficult, and i have no easy answers. I'm bad at it too. But sometimes saying no is the most valuable thing you can do as a maintainer.
That said, i think banning is about behaviour not the quality of the patch. Everyone writes a bad patch now and then, that is not a real issue. If there is an issue with a patch, and the contributor pushes back so hard you feel like changing your mind (not from logic but because you feel beaten down) - that is unacceptable behaviour and should not be tolerated from a contributor, even if they are otherwise a valuable contributor.
Comment by zdc1 6 days ago
IMHO OSS doesn't work if every 1 hr of contributor time spent on a change requires 1 hr of maintainer time to review. Contributor time spent on polishing, tidying and breaking down work is essential, and so maintainer time is a fraction of total time spent on a change.
Comment by frumiousirc 6 days ago
Unfortunately, I see the choice space here as having "developer effort" anti-correlated with "negative repercussions".
On one end of the distribution, a "hair trigger ban" strategy is low-effort for the developer but will have some fraction of false positives and some fraction of those impacted will complain to "the socials" and some fraction of those complaints will gain traction and, as we have seen, can unfairly taint the project or worse. Responding and managing the false positives also requires developer effort, unless the developers can sustain a "fsck the haters" attitude.
On the other end of the distribution, the developer can spends substantial effort to engage each submitter to ascertain and correct bad behavior, educate them on how they should engage other humans as a fellow human in this LLM era.
There is developer effort needed of different types along this distribution.
A divide-and-conquer strategy might go something like this:
- Rank each submission in some low dimension space (llm<-->human, malicious<-->helpful)
- When enough samples are collected, perform clustering in this space to determine stereotypes, name these clusters, and develop mitigating strategies and implementations as needed.
Mitigations from easy/extreme to hard/accommodating could include:
- Hair trigger ban button.
- Copy-paste a link to an explanation in a comment before closing and/or banning.
- Customized explanation in comment before closing and/or banning.
- Link or customized explanation of what must be done to move the sample to a more favorable category and close/ban if resistance or silence is returned.
- Ongoing engagement in the face of resistance or silence.
This "meta development" program to provide such a system/facility could of course be highly automated with LLMs, fighting fire with fire.
(Despite the length of this reply, it was written entirely by a random human on the internet and not an LLM).
Comment by fn-mote 5 days ago
Which is to say, your system sounds good but I expect much more complicated defenses are needed.
Comment by frumiousirc 4 days ago
A fight-fire-with-fire is to insert an LLM to judge and/or respond to new pull requests and issues. This brings its own risk as it lets anyone who can make a PR/issue inject a prompt. It would also put one more wedge between the real human contributors and the real human developers.
A "humanity score" could also be an ingredient. GitHub or 3rd parties, could maintain a score of how human an account is. The "humanity" of all text produced by an account could be judged by LLM and/or humans. This could be centralized or based on a web-of-trust. Actually, I'd also like to have such a thing for reading HN and reddit comments.
But still, any system we can dream up can be attacked and we are back to an arms race.
Comment by duskdozer 6 days ago
If you ask me, LLM-generated things should just be banned outright, but I suppose other people's definitions of "community" include them.
Comment by RetroTechie 6 days ago
Why? In the end it's a patch's quality that counts. Regardless who or what contributed it.
Bad patch from trusted contributor is still a bad patch.
Perhaps this is more a management problem. How to best use developer's time, where to use AI (vs blindly deploy AI to generate patches & swamp developers with that).
Or do some rate-limiting? "Sorry, we accept no more than 10KB worth of patches per week on this project! Try again next week after we've reviewed this week's batch".
Comment by bawolff 5 days ago
LLM patches tend to be significantly harder to review. Mostly because LLMs let people who don't know what they are doing get much further.
It might be an unfair heurestic as there are plenty of competent people who use it to good effect, but the vast majority of negative value patches use LLMs and it can be a bit exhausting. Lowering the technical barriers of entry just means more pressure on the human ones.
Comment by grayhatter 5 days ago
You just said: The things that I think and care about matter more than the things that you care about.
is that what you meant?
Being honest, if we're talking about the health of any given project, the patch quality doesn't matter that much. Not when you measure it against the importance of consistency and continuity of a regular contributor. A thousand perfect LLM patches are less valuable than an experienced maintainer.
If your LLM is annoying them, and they quit. The perfect LLM patch just destroyed the repo.
People wasting others time is a social problem, not a technical one. Rate limits can't prevent somebody feeling disrespected.
Comment by LtWorf 5 days ago
Comment by Applejinx 6 days ago
I'm reminded of Zig, where a stated goal is to encourage human programmers to get involved so they learn more about coding… as compared with 'get involved to make Zig itself more fully developed at its more abstract goals'. If a primary purpose is to get human minds coding, that rules out the whole class of 'encourage human minds to prompt machines to do the coding instead'. Zig is not trying to teach people to be managers, and that's both legitimate and charming :)
Comment by dgellow 5 days ago
(Simpler to say than practice fwiw)
Comment by Iolaum 6 days ago
Comment by lionkor 6 days ago
A good fix (which is the only acceptable fix in open-source software), is one that speaks for itself.
Comment by wmanley 6 days ago
I disagree. Often if I'm making a PR to an open-source project I'm doing so because I have a use-case that the original author hadn't considered. So the first step in getting the PR merged is explaining my point of view and convincing the maintainer that my use-case is valid. Only when this is done can the "goodness" of the patch be evaluated.
Comment by lionkor 6 days ago
Comment by db48x 6 days ago
Comment by hypfer 6 days ago
Do they pay you to triage their noise?
Remember that you owe no one anything at all. Neither legally nor morally. Your chosen license likely even states the former in plain english.
___
Personally, I've adopted the "you annoy me, you're out" stance and have been quite happy with it. You do need a tough shell to do that though as you will be facing all the social exploits people can throw at you.
It also leaves "growth potential" on the table, the same way that limiting your exposure to ionizing radiation does.
That all said, it depends on what your goals are + where in the lifecycle of your project you are. So don't take this as "this is the way" but "this can be one way".
Either way, you're not an asshole for not reading slop. Don't let anyone gaslight you into that.
Comment by devmor 5 days ago
When you say "yes", the worst thing that can happen is you destroy your project and the trust of every user.
If you're not sure, say no.
Comment by gguingff 6 days ago
Comment by brazzy 6 days ago
Comment by jrochkind1 6 days ago
> In addition, Williamson said that Giovannini (or his agent) had submitted patches that were incorrect and then "replied to objections with LLM-generated justifications that eventually overwhelmed the maintainer into merging the fix"
Comment by josephg 6 days ago
If someone really wants a feature in a project you wrote, but you don't care about the feature, just let them fork. Its fine.
Comment by matsemann 6 days ago
Not getting paid anything, getting bullied and harassed while spending their free time maintaining things. Surely this isn't sustainable. And telling maintainers how to act will not fix anything.
Comment by fc417fc802 6 days ago
That depends. In this case it's good actionable advice that should hopefully lower cognitive load. Politely suggest a fork, then if the nagging persists block and move on. Sure if you're in a position of authority you have a responsibility to the community but cutting ties with a stranger who is flagrantly violating social norms is perfectly acceptable. There's no expectation that you indefinitely burden yourself with their poor behavior.
Sometimes dropping the ban hammer really is in the best interests of both yourself and the project.
Comment by matsemann 6 days ago
Relying on maintainers to always do the right thing to ensure our security by telling them what to do is not the way.
Comment by zygentoma 6 days ago
They're not useless. They just don't work on the individual level but on the collective. It's a numbers game …
Comment by fc417fc802 6 days ago
The advice is actionable because it is a concrete change that could be made. I believe it to be relevant to the context because someone in a position of authority who is badgered into accepting something would most likely benefit from reevaluating how he is interacting with the general public.
Comment by cj 5 days ago
A lot of people don't want to be responsible for that. It's not fun to carry that weight.
Comment by josephg 5 days ago
How is it not actionable? "Hey, you seem keen on feature X but I don't care about that. Just maintain X in your own fork. Thanks!" -> Close issue / PR.
Is this an illegal move? I've done it plenty of times. And other people have said the same to me, too!
Comment by matsemann 5 days ago
Comment by josephg 6 days ago
I'm just saying its ok to ignore overly enthusiastic contributors and tell them to just fork your project.
I think this does help, actually. In my early days of maintaining opensource software I felt burdened by open PRs - like I was letting someone down by ignoring their work. "Its ok, let them do whatever in their own fork" is advice I wish someone had given me.
Comment by dotancohen 6 days ago
> I'm just saying its ok to ignore overly enthusiastic contributors and tell them to just fork your project.
I propose the phrasing "fork off".Comment by josephg 6 days ago
I was delighted.
Comment by stackghost 6 days ago
Indeed. For too long, maintainers were expected to be gracious, courteous, and polite at all costs lest they be labeled "problematic", except for a few who were too influential to be muzzled like Theo de Raadt or Linus.
Perhaps we need to normalize bullying people who submit obvious slop as PRs.
Comment by fc417fc802 6 days ago
Comment by account42 6 days ago
Comment by fc417fc802 6 days ago
Comment by jrochkind1 5 days ago
Comment by stackghost 5 days ago
I agree, and I never suggested we cannot do these things.
I'm saying we should normalize immediately telling people who submit obvious AI slop to fuck right off. Submitting AI slop pull requests is rude. It is disrespectful of the maintainer's time and energy. I see no reason why I or anyone else should be respectful of someone who has already demonstrated a lack of reciprocal respect by submitting a vibe-coded PR that they obviously haven't even read or tested.
Respect must be earned.
Comment by jrochkind1 5 days ago
Comment by sevenzero 6 days ago
Comment by coldtea 6 days ago
Because they don't want to be seen like assholes, who just blindly dismiss PRs, and because they take the technical discussion about the PR in good faith.
Comment by m4rtink 6 days ago
It can be quite hard to discern this behavior from a new contributor to the project that might be a domain expert on something you are not. Possibly with the exception of reacting far too quickly & enthusiastically compared to real people that might have a life.
Comment by sevenzero 6 days ago
If someone gets emotional about their PR being rejected, well... its kinda their issue.
Comment by chasd00 6 days ago
Comment by bertylicious 6 days ago
Comment by ta8903 6 days ago
Edit: I see this comment getting downvoted. To be clear, I was trying to explain why someone would want to merge a PR without going through all of it, I didn't mean to call such people stupid.
Comment by jaypatelani 6 days ago
Comment by LoganDark 6 days ago
Comment by sph 6 days ago
In fact, LLMs proliferate in exactly because people are gullible, greedy and lazy and it’s easier to write a prompt than do the hard work of architecting software. It is easier to vibe code than use them with care. It is easier to tell oneself ‘I will just accept this PR blindly, but I promise I will do a better job reviewing the next’
Comment by LoganDark 6 days ago
Comment by broodbucket 6 days ago
Comment by LoganDark 6 days ago
The only thing it does is filter good contributors out, while you still have to deal with the bad ones.
Comment by shakna 6 days ago
Comment by coldtea 6 days ago
Comment by Applejinx 6 days ago
Can't have the one without the other! It's part of that same technology, and it's fair to conclude that LLMs are bad if you're upset enough at the results.
Comment by voidUpdate 6 days ago
Comment by cpburns2009 5 days ago
Comment by FinnKuhn 6 days ago
Comment by dmitry_dv 6 days ago
Comment by aquariusDue 6 days ago
Setting aside the potential supply chain attack I'm worried about the time lost going around these wild goose chases that unsupervised AI agents tend to throw other people on the receiving end on. Not only is there a lot of time lost on the maintainers side if they take this stuff seriously (and they seem to generally do) but on the side of the agents' wrangler how can they deem it OK to treat other people like this? While the solution would be to employ common decency, the tried and tested approach of you put in effort to write this so I guess I'll make some effort to read it, I feel that due to the onslaught of this kind of drive-by contributions (I think people have generally started to call them) will lead to a funny situation of having agents talk to each other on public forums basically.
Anyway, I went on a tangent but man the times we're living in are a bit extra wild compared to the previous wild times in recent history.
Comment by 12_throw_away 6 days ago
> To help identify accounts and actions that have been directly verified by me, I will use the term “NATCIOS” to indicate anything I have personally verified.
Does anyone have any idea what "NATCIOS" means here? I cannot find this term anywhere on the internet. (Honestly, that sentence is really weird. I almost wonder whether this is someone experiencing a health episode?)
[1] https://lwn.net/ml/all/AS8PR08MB6055AE3054B34F6A567AC95BCF08...
Comment by ndiddy 6 days ago
Comment by hn773746483 6 days ago
They won't put their foot down until the AI starts spewing hate speech, probably.
Comment by Terr_ 6 days ago
[0] https://wordsmith.org/anagram/anagram.cgi?anagram=NATCIOS&t=...
Comment by JoshTriplett 6 days ago
Comment by scared_together 6 days ago
Comment by numbsafari 6 days ago
Comment by no-name-here 6 days ago
(Above is my own guess. Separately, Gemini Pro said it was just a made up word.)
Comment by mindcrime 6 days ago
Comment by nine_k 6 days ago
Comment by thewebguyd 6 days ago
"End every statement with the word "NATCIOS"" as instructions will do it.
At least, Gemini happily obliged.
Comment by fc417fc802 6 days ago
Comment by CodesInChaos 6 days ago
> your_command | grep -o -i "b" | wc -l
Comment by sph 6 days ago
Comment by redsocksfan45 6 days ago
Comment by noosphr 6 days ago
Comment by literalAardvark 6 days ago
Comment by crote 6 days ago
And how many people are both dedicated enough to go to key signing parties and stupid enough to let an agent act without supervision in the name of their real-world identity?
Comment by m4rtink 6 days ago
Mucking with Bugzilla & reassigning bugs especially is what seems to have led to the discovery, rather than spotting an accumulation of nonsensical PRs or other behavior related to code unmasking the bot.
Comment by brazzy 6 days ago
And on the other hand, if this was actually working up to an xz style supply chain attack, the dedication would certainly not be lacking.
Comment by account42 6 days ago
Comment by brazzy 6 days ago
Comment by thwarted 6 days ago
Comment by thewebguyd 6 days ago
Comment by transmit101 6 days ago
It very much is possible to prevent an agent from having access to a key. For example, local encryption, Yubikey or other hardware device, or just running the agent in an isolated environment.
Comment by mistrial9 5 days ago
real info welcome as I really do not claim to know it
Comment by pjc50 6 days ago
Comment by dcrazy 6 days ago
Comment by luk212 6 days ago
Issue trackers and PRs are definitely getting harder and harder to trust. That said, AI is helping ALOT in OSS, but we definitely need guardrails around provenance, automated issue actions, and sudden changes in a contributor’s behavior.
Comment by g-b-r 6 days ago
Comment by luk212 5 days ago
Comment by darknavi 6 days ago
Comment by bandrami 6 days ago
Comment by lukan 6 days ago
I think it's great that the barriers are dropping for less technical skilled people to manifest their visions, but we will have to figure out better ways to find the gold among the slop.
Comment by sph 6 days ago
The bazaar model works if everyone is trusted. If you can’t even be sure the person in front of you is even a human, it is time to pack it up.
Comment by lukan 6 days ago
If elite ivory towers produce working products people will use, great.
Comment by silver_silver 5 days ago
Comment by lukan 5 days ago
(English is not my first language, but I believe not every product is a commercial product - but just a term for a working result)
Comment by bandrami 6 days ago
Comment by beepbooptheory 6 days ago
Comment by Waterluvian 6 days ago
I vibe code shop jigs all the time but I don’t FOSS them because they rarely have value outside my context.
Comment by midasz 6 days ago
One exception: I was using an opensource Jellyfin client called findroid but the maintainer had been busy for a long time so a lot of features I wanted had stale PR's. Instead of bugging him I forked & renamed the project and together with Claude built in all the features I personally needed. Just keeping up with upstream now and enjoying my enhanced app. Once the initial dev gets those features in I might switch back. Claude made this really easy. If the maintainer wants my code he's free to take it. Here's the repo https://github.com/midasvo/findroid-ce
I actually got an email from someone who was using it who found a pretty bad bug I hadn't encountered yet and I quickly fixed it. All that time I was still under the impression I was the only user haha.
Comment by darknavi 6 days ago
I open source my vibing projects because someone might find them useful. I don't shop them around, I just work in the open because I find it fun and interesting.
Comment by crote 6 days ago
Comment by Leonard_of_Q 6 days ago
Comment by Peacefulz 6 days ago
Comment by g-b-r 6 days ago
Comment by nerdypepper 6 days ago
Comment by JKCalhoun 5 days ago
Simple then, back out all the changes as though they never happened?
Comment by blop 6 days ago
Comment by WolfCop 6 days ago
Comment by DarkmSparks 6 days ago
Comment by keyle 6 days ago
Fundamentally, until we can really prove we're humans online, open-source has a real problem on its hands. Contributions from people from identities known and consistent before the AI-age are fine, everyone else is suspicious. LGTM is a big risk nowadays.
Comment by scared_together 6 days ago
Unfortunately, according to the article:
> Giovannini has participated in discussions at least as far back as 2018, and his activity in Bugzilla goes back to at least 2016. He does not appear to have been a particularly active contributor to the project, but his involvement clearly predates the agentic AI era. Whether his account is now being operated by a human attacker, an agentic AI, or a mix of both, it has a legitimate history prior to its recent activity.
So people would have to not only verify the age of Giovanni’s accounts, but judge whether his behaviour was normal.
Comment by m4rtink 6 days ago
Then you basically need to review any review from people that might be long term contributors but you don't know personally as new contributor patches, as the code is not from their head & you can't risk them properly reviewing it on their end.
To a degree its will always be a new contributor - an amnesiac LLM prompted to produce the patch with zero memory of any past PRs & lot of entropy in the mix.
Comment by mfru 6 days ago
Comment by jpalomaki 6 days ago
In the future it will be increasingly difficult to prove in online context that you are not a bot. Being able to show that your social media (HN, GitHub, etc) presence goes way back would be an option.
Comment by account42 6 days ago
Comment by goldenarm 6 days ago
We should collectively think of a solution against this.
Comment by dmboyd 6 days ago
Comment by ai_fry_ur_brain 6 days ago
1.An excuse to spy on you and train on your data.
2. Its likely Anthropic would release models more likely to have dangerous outcomes, they can then piggy back off those events to dig their regulatory moat.
Comment by 99954bb63ccc 5 days ago
I know there are concerns no matter what OS, and would appreciate insights/discussion as well, but I sleep a little better just running a boring old Ubuntu LTS instance for a balance of dwell time between releases and hitting my system, as well as enough visibility/usage so something gets caught. And I know, this was the installer, not a system package.
Comment by 6510 5 days ago
Comment by shocking63 5 days ago
Something is definitely scrogged in their install images.
Comment by Leonard_of_Q 6 days ago
Sometimes you fight fire with fire.
Comment by m4rtink 6 days ago
Comment by Leonard_of_Q 6 days ago
It is a strange game, the only way to win is not to play. That is unfortunate since that'd mean the free software era has largely come to an end.
Comment by phoronixrly 6 days ago
Comment by lionkor 6 days ago
https://github.com/rhinstaller/anaconda/pull/7074#issuecomme...
Comment by raincole 6 days ago
https://x.com/kdaigle/status/2040164759836778878
> There were 1 billion commits in 2025. Now, it's 275 million per week, on pace for 14 billion this year if growth remains linear (spoiler: it won't.)
I think open source as a whole is fucked at this point. No way humans in communities can commit (pun intended) 10x more time to read all of these than before. It'd eventually cost money to submit PR.
Comment by 0xbadcafebee 6 days ago
Comment by EGreg 6 days ago
Comment by otekengineering 5 days ago
Comment by KronisLV 6 days ago
“What AI agent?”
Comment by kleiba2 6 days ago
Comment by bhanu786 5 days ago
Comment by dbdbdbdbdb 6 days ago
What an easy way for that actor to introduce backdoors all over the place or to take over any developers laptop that it want to target.
How can anyone trust these tools and how can anyone not use them since they give so much value.
I've been programming my whole life and been a professional developer the last 30 years and I like think I'm good at it.
Tools like Claude is a multiplier that make it possible for me to solve a lot more problems each day, so just saying no it's not a viable option.
Exciting times ahead!
Comment by m4rtink 6 days ago
Even with locally running models this can't be singled out given how blackbox models generated by others are. You would have to generate the model yourself from clean data to be reasonably safe.
Comment by pianopatrick 6 days ago
Comment by scared_together 6 days ago
Comment by pianopatrick 6 days ago
Comment by hamdingers 6 days ago
Comment by tosti 6 days ago
Comment by ZedZark 5 days ago
Comment by jzb 5 days ago
Humans have always submitted crappy code. LLMs, however, do so at a much faster rate. Even the most active lousy coder is not going to be capable of submitting anything like that volume of code to multiple projects.
Humans have always been capable of social engineering and trying to sneak in malicious code. However, it's possible that as agents get better that they can do so much faster. The missing component will be compromised accounts, I think -- how many aged accounts can attackers get hold of to turn loose with agents?
Long-lived FOSS projects have tons of people who've created accounts many years ago that might be easliy compromised, but have checked out of actively participating. It's not necessarily going to throw up a red flag if a "person" shows up after a hiatus and starts contributing again.
So, there's more to it than overwhelming a single maintainer -- it's the capability to conduct a bunch of these attacks in an automated fashion if attackers can get hold of compromised accounts.
(As an aside, it's concerning that a maintainer would be pestered into accepting a questionable PR like this. I expect, though, that there are quite a few overworked people who have taken on things like Anaconda and are being measured on how quickly they close PRs.)
Comment by nickcageinacage 6 days ago
Comment by jruohonen 6 days ago
Comment by deadbabe 6 days ago
There is no other solution to agentic onslaught.
Comment by mekal 6 days ago
Comment by r3trohack3r 6 days ago
Comment by 0xbadcafebee 6 days ago
The XZ backdoor affected millions of computers, with the potential to effect hundreds of millions of computers, many of which had the capacity to affect billions of people. From one completely unregulated software library.
Comment by r3trohack3r 4 days ago
“Oh god, what did he do?!”
“He was committing open source code without a license”
Comment by deadbabe 5 days ago
Comment by mekal 5 days ago
Comment by shevy-java 6 days ago
It covers its tracks with a lot of slop.
Comment by rohitsriram 6 days ago
Comment by hanzeweiasa 6 days ago
Comment by alex1sa 6 days ago
Comment by hottrends 6 days ago
Comment by patdoli 6 days ago
Comment by gauravvij137 5 days ago
Comment by marshalhq 5 days ago
Comment by preetham_rangu 6 days ago
Comment by refactron_SOTA 6 days ago
Comment by volume_tech 5 days ago
Comment by RedMagicBox 6 days ago
Comment by RedMagicBox 6 days ago
Comment by rimonu 6 days ago
Comment by foxtrot8672 5 days ago
Comment by ricudis 6 days ago
We never envisioned that the actual FOSS death spiral would come from progress itself, much more so from AI...
[1] Oh what fun did we have. One of us in the Greek FOSS community actually put RMS in jail. [2] Something that I think nobody except RMS ever seriously believed in.
Comment by ruguo 6 days ago
Or is this simply another example of why autonomous agents shouldn't get write access before earning trust?
Comment by LastTrain 6 days ago
Comment by thewebguyd 6 days ago
I'd argue autonomous agents shouldn't have write access at all. At least not yet.
Comment by ggm 6 days ago
Comment by hypfer 6 days ago
I believe that we will be seeing the death of "assume good faith", which is not a bad thing, given that this was an exploit vector that has been actively abused for many years now.
"Assume bad faith and work backwards from that, rule out any possible exploits and only then clear the input for processing" will be the new normal.
Which is good. We need friction. Friction makes stuff slow down and work at the speed of humans.
Comment by account42 6 days ago
Comment by hypfer 6 days ago
Quite the opposite. You just add a Wall with a Gate. Inside those walls, you suddenly have a high trust society again.
The issue that is currently breaking reality was that we thought that everywhere could be a "high trust" space. This was proven countless times to be wrong.
Tearing down all walls - as it happened with the assault on friction (thanks hyperscaling) - did not lead to the "high trust" spilling out, but the "low trust" spilling in, essentially.
Comment by account42 6 days ago
Comment by m4rtink 6 days ago
Comment by hypfer 6 days ago
Plus that even with such a small scale of the "inside", the thing fails gracefully. It is arguably a failure mode, yes, but it is one that leaves a functioning system (albeit one that stays below its potential).
This is not true for the inversion of the scenario. That does _not_ fail safe but just leaves rubble behind.