Have a sneer percolating in your system but not enough time/energy to make a whole post about it? Go forth and be mid - welcome to the Stubsack, your first port of call for learning fresh Awful youāll near-instantly regret.
Any awful.systems sub may be subsneered in this subthread, techtakes or no.
If your sneer seems higher quality than you thought, feel free to cutānāpaste it into its own post ā thereās no quota for posting and the bar really isnāt that high.
The post Xitter web has spawned so many āesotericā right wing freaks, but thereās no appropriate sneer-space for them. Iām talking redscare-ish, reality challenged āculture criticsā who write about everything but understand nothing. Iām talking about reply-guys who make the same 6 tweets about the same 3 subjects. Theyāre inescapable at this point, yet I donāt see them mocked (as much as they should be)
Like, there was one dude a while back who insisted that women couldnāt be surgeons because they didnāt believe in the moon or in stars? I think each and every one of these guys is uniquely fucked up and if I canāt escape them, I would love to sneer at them.
(Credit and/or blame to David Gerard for starting this.)
(OT: š¶ Do you rememberā¦)


I need someone with more actual software dev knowledge to back me up on something. It looks like thereās a new zero-interaction remote code execution vulnerability in most major vibe code generators. Iāve seen it called Plugin4Shell because apparently weāre still doing marketing names instead of actually getting CVE numbers for these things. The link there seems like a decent overview.
So if Iām reading this right, the mechanism to cryptographically ensure that your AI agents are using the code they say they are just was straight-up not being checked? This feels like it should go on the big board of incredibly obvious failures, but Iām not familiar enough with the git side of things to be absolutely confident in that. Like, if a person tried to pass off software that did this it would have significant career implications, right? Or am I misunderstanding something somewhere?
My understanding is that the weakest link here is either git or the way the agents rely on git.
So, every commit in a git repository has a unique*, immutable, deterministic identifier. A commit with different content would have a different identifier. It is commonplace to use these identifiers to pin a dependency to a specific commit.
In addition to these immutable deterministic identifiers, there are also so-called ārefsā, which are mutable identifiers. You use these to point to e.g. āthe most recent versionā.
So if the agent needs a āskillā that is pinned to the commit with ID
aaaaaaaaait will run the checkout command with that ID; this should prevent any shenanigans because only* a commit with the specific content that was vetted earlier will have that ID.This attack exploits an unexpected git behavior: the command to checkout a particular commit accepts either a commit ID or a ref, but tries refs first. So what the attacker does is add a ref to the repository named
aaaaaaaaathat points to the malicious commit. Then the agent runsgit checkout aaaaaaaaaand ends up at the malicious commit instead of the one that was pinned.I donāt know if thereās a way to tell
git checkoutto ignore refs, but this might actually be a vulnerability in other systems that rely on git for this sort of pinning.* to an astronomically negligible probability of the contrary, and ignoring potential cryptographic breaks
This is a plausible explanation, but I am surprised that this git behavior is not more well-known as there have been multiple discussion about āsupply-chain attacksā even before LLMs became widespread.
Fwiw a similar problem is well-known in e.g. GitHub Actions even without this confusion.
You can have your GHA scripts use āactionsā written by other people, and the way you refer to them is
user/repo@commit, where the commit can be a commit ID or a branch name or a tag name. The docs actually recommend pinning to commit IDs, but in practice most people actually pin to tags, likebob/doit@v1because that will auto-update if bob fixes some bug and updates v1 to point to that. But if bob goes rogue, or gets compromised, the attacker could change the tag v1 to point to a malicious commit, though, hence the recommendation to use commit IDs for all actions that you didnāt write yourself. I donāt know if this ref/ID confusion can be exploited on GHA, but I would expect the answer is no, because GitHub Actions doesnāt launch git shell commands like a savage, but idkTypically no.
The space of incredibly obvious failures is vast, and this kind of plumbing code isnāt always written by someone whoās been around the block enough times to think about what kinds of things can go wrong. Iāve written worse code when I had only a few years of experience.
However companies should know this; so ideally the tool would have gone through a launch review which should have kicked off a security review where a security expert should have read about the git checkout in the design document and started asking questions like āwhat happens if the repository is taken overā or āwhy are hashes and branches and tags all in the same fieldā?
Of course security experts are expensive and slow down the darling vibe-coding workflows of Silicon Valley soā¦
Aside: even without this particular vulnerability, SHA-1 is considered weak ā https://git-scm.com/docs/hash-function-transition, so that should have been thought about as well. Dear supply-chain attackers: maybe thereās still a hole here! Good luck!