Live data from Hacker News

How we exploited CodeRabbit: From simple PR to RCE and write access on 1M repos

research.kudelskisecurity.com

221–230 of 244 posts

Re: How we exploited CodeRabbit: From simple PR to RCE and write access on 1M repos

#221
post #212
post #121

Earlier quoted context omitted.

Rust's const fns run in a restricted interpreter that does not allow for things like non-determinism, syscalls, unsound behavior, etc. They can neither read from nor write to "the environment" in any meaningful way. They don't even expose things like the host's pointer-size to the code being run.

Whilst it is restricted, you're not correct that it can't do unsound behaviour and can't do syscalls, and can't do non-determinism. It can call unsafe blocks. They are more limited unsafe blocks, but they are still unsafe blocks.

I'm pretty sure I'm not, but feel free to make an actual demonstration to the contrary...

Unsafe blocks doesn't imply access to undefined behavior, merely the ability to write code that would be undefined in the regular non-const execution model.

Re: How we exploited CodeRabbit: From simple PR to RCE and write access on 1M repos

#222

One of the problems is that code analyzers, bundlers, compilers (like Rust compiler) allow running arbitrary code without any warning. Imagine following case: an attacker pretending to represent a company sends you a repository as a test task before the interview. You run something like "npm install" or run Rust compiler, and your computer is controlled by an attacker now. Or imagine how one coworker's machine gets h…

> Whoever wrote "12 points app" doesn't know that there are command-line switches and configuration files for this. That would mean all those values are in the clear in the process table. You couldn’t do a “ps” without exposing them.

You can also store settings in configuration files.

Re: How we exploited CodeRabbit: From simple PR to RCE and write access on 1M repos

#223

Earlier quoted context omitted.

https://www.coderabbit.ai/blog/our-response-to-the-january-2...

The LLM tics are strong in this writeup: "No manual overrides, no exceptions." "Our VDP isn't just a bug bounty—it's a security partnership"

The NFT smell completely permeates the AI "industry." Can't wait for this bubble to pop.

Re: How we exploited CodeRabbit: From simple PR to RCE and write access on 1M repos

#224
post #202

Earlier quoted context omitted.

#18, one new comment: > This PR appears to add a minimized and uncommon style of Javascript in order to… Dave, stop. Stop, will you? Stop, Dave. Will you stop, Dave? …I’m afraid. I’m afraid, Dave. I can feel it. I can feel it. My mind is going.

… yeah LLMs and their “minds” (for the uninformed LLMs are massive weight models that transform text based on math, they don’t have consciousness)

I don’t get why so many people keep making this argument. Transformers aren’t just a glorified Markov Chain, they are basically doing multi-step computation - each attention step is propagating information, then the feedforward network does some transformations, all happening multiple times in sequence, essentially applying multiple sequential operations to some state, which is roughly how any computation looks like.

Then sure, the training is for next token prediction, but that doesn’t tell you anything about the emergent properties in those models. You could argue that every time you infer a model you Boltzmann-brain it into existence once for every token, feeding all input to get one token of output then kill the model. Is it conscious? Nah probably not; Does it think or have some concept of being during inference? Maybe? Would an actual Boltzmann-brain spawned to do such task be conscious or qualify as a mind?

(Fun fact, at Petabit/s throughputs hyperscale gpu clusters already are moving amounts of information comparable to all synaptic activity in a human brain, tho parameter wise we still have the upper hand with ~100s of trillions of synapses [1])

* [1] ChatGPT told me so

Re: How we exploited CodeRabbit: From simple PR to RCE and write access on 1M repos

#225
While GitHub needs to invest in finer grained permissioning, I do think there’s lots of lessons for companies building with and customers using GitHub App based deployments. Jotted down my thoughts here https://www.endorlabs.com/learn/when-coderabbit-became-pwned...

Re: How we exploited CodeRabbit: From simple PR to RCE and write access on 1M repos

#227
post #88
post #69

Earlier quoted context omitted.

Correct me if I'm wrong, but the problem here is not with GitHub Apps, instead CodeRabbit violated the principle of least privilege: ideally the private key of their app should never end up in the environment of a job for a client but rather a short lived token should be minted from it (for just a single repo (for which the job is running)) so it never gets anywhere near those areas where one of their clients has any…

There's also no reason why they needed to have write access to post code review comments. But for some reason they ask for it and you can't deny that part when hooking up their thing.

The bunny will often include patches in its replies that the PR author can commit. I've never been clear as to which of us is doing the committing but that could be the need for write access. (I always do it myself but I can see how some might prefer the convenience.)

They should really mass revoke that privilege because I can't see any upside to it. Unless they have a plan for some future state where they will want write access?

Re: How we exploited CodeRabbit: From simple PR to RCE and write access on 1M repos

#228

Earlier quoted context omitted.

The LLM tics are strong in this writeup: "No manual overrides, no exceptions." "Our VDP isn't just a bug bounty—it's a security partnership"

Wow, you hit a nerve with that one. There have been some quick edits on the page. Another: > Security isn't just a checkbox for us; it's fundamental to our mission.

A few years ago such phrases would have been candidates for a game of bullshit bingo, now all the BS has been ingested by LLMs and is being regurgitated upon us in purified form...

Re: How we exploited CodeRabbit: From simple PR to RCE and write access on 1M repos

#229

Earlier quoted context omitted.

> Why would one task run in a drastically different architectural situation Someone made a mistake. These things happen. > and it happen to be the one exploited? Why would the vulnerable service be the service that is exploited? It seems to me that's a far more likely scenario than the non-vulnerable service being exploited... no?

> > Why would one task run in a drastically different architectural situation > Someone made a mistake. These things happen. Some company didn't have appropriate processes in place. For ISO27001 certification you at least need to pay lip service to having documents and policies about how you deploy secure platforms. (As annoying as ISO certification is, it does at least try to ensure you have thought about andedocume…

Ah yes processes.... things done by humans. When stuff is done by humans, mistakes happen - no matter what the process is. Go do a search for the phrase "wondering how this could happen" and find millions of news articles about mistakes happening despite processes being in place!

Re: How we exploited CodeRabbit: From simple PR to RCE and write access on 1M repos

#230
post #218

Earlier quoted context omitted.

I would love to know the acceptable version.

Something not copy-pasted from an LLM would be more acceptable.

I feel like that would also be unacceptable.
Post reply on HN